首页 > 解决方案 > 硒与打字稿

问题描述

使用带有 Typescript 的 selenium 比使用带有 Java 的 selenium 有什么优势。哪些类型的 Web 应用程序可以用 Selenium+Typescript 自动化,为什么这些不能用 selenium+java 完成?

标签: javatypescriptseleniumframeworks

解决方案


在自动化方面 - > 类型脚本基本上由诸如量角器之类的工具使用,这些工​​具实际上使用了 javascript 本身,但提供了在 typescript 中编写脚本的扩展,然后将其转换为 javascript 并进一步传递以执行。typescript 的主要用途是它基于 oops,因此它易于编写可维护的代码。

Protractor 是一个 nodejs 插件,内部使用 selenium wedriverjs 绑定

你的第二个问题为什么打字稿:

基本上量角器用于 Angular-JS 客户端网站。你仍然可以使用 Protractor 自动化非角度网站通常硒没有能力了解元素是否准备好,因为即使在页面加载完成后,JavaScript 仍然在基于 Anugular/JS 的网站工作,所以 Protractor 提供包装器附加功能,例如waitForAngular

此外,Protractor 提供更多定位器识别策略,这些策略在使用 java 或 c# 的普通 selenium 中不存在

参考:

http://www.protractortest.org/#/locators

由于 Protractor 是基于 wedriverjs 构建的,我们还需要在 JavaScript 或 typescript 上为其编写脚本。基本上,即使您在内部使用打字稿进行编码,它也会将其转换为打字稿。人们更喜欢打字稿,因为它不像 JavaScript 那样遵循完整的 oops

资源:

http://www.protractortest.org/#/

市场上有更多基于 js 的框架,例如:

  • WebdriverIO
  • 夜间值班

现在 java 还提供了许多库,如 JSWaiter 等,声称他们也可以使用 java + selenium 处理基于 js 的客户端网站


推荐阅读