【发布时间】:2020-02-02 15:13:20
【问题描述】:
在 Typescript 中使用 selenium 比在 Java 中使用 selenium 有什么优势。 哪些类型的 Web 应用程序可以使用 Selenium+Typescript 自动化,为什么这些不能用 selenium+java 完成?
【问题讨论】:
标签: java typescript selenium frameworks
在 Typescript 中使用 selenium 比在 Java 中使用 selenium 有什么优势。 哪些类型的 Web 应用程序可以使用 Selenium+Typescript 自动化,为什么这些不能用 selenium+java 完成?
【问题讨论】:
标签: java typescript selenium frameworks
在我看来没有什么大的好处,那是我的 tl,博士;
我可以想到几个你可能有的选择:
您也许可以将测试框架与前端应用程序存储库集成。如果您正在使用基于 Typescript 的框架(例如 React)并且您可以潜在地使用它来导入应用程序数据(例如开发人员用于他们的开发工作的 API 的存根响应,假设它们可用),这可能很有用那里...只是一个示例)并将其用于在没有 API 依赖关系的情况下单独测试前端代码。
我能想到的另一个原因是,如果您执行上述操作,您可能会将测试用例作为前端代码的 CI 的一部分执行,例如,您可以使用拉取请求运行测试用例的子集在合并到主分支之前确保所有内容都是绿色的。
真的,您可以使用用 Java 编写的外部 repo 来完成上述所有操作(因此,没有什么大的好处)
【讨论】:
在自动化方面 -> 类型脚本基本上由诸如量角器之类的工具使用,它们实际上使用了 javascript 本身,但提供了在 typescript 中编写脚本的扩展,然后将其转换为 javascript 并进一步传递以供执行。 typescript 的主要用途是它基于 oops,因此它易于编写可维护的代码。
Protractor 是一个 nodejs 插件,内部使用 selenium wedriverjs 绑定
你的第二个问题为什么要打字:
基本上量角器用于 Angular-JS 客户端网站。您仍然可以使用 Protractor 自动化非角度网站 通常硒 不 有能力了解元素是否准备就绪,因为即使在页面加载完成后,JavaScript 仍在基于 Anugular/JS 的网站工作,因此 Protractor 提供具有附加功能的包装器,如 @ 987654323@
另外 Protractor 提供了更多的定位器识别策略,这些策略在 java 或 c# 的普通 selenium 中不存在
参考:
http://www.protractortest.org/#/locators
由于 Protractor 是基于 wedriverjs 构建的,我们还需要在 JavaScript 或 typescript 上为其编写脚本。基本上,即使您在内部使用打字稿进行编码,它也会将其转换为打字稿。人们更喜欢 typescript,因为它不像 JavaScript 那样遵循完整的 oops
来源:
http://www.protractortest.org/#/
市场上有更多基于 js 的框架,例如:
现在 java 还提供了许多库,如 JSWaiter 等,声称他们也可以使用 java + selenium 处理基于 js 的客户端网站
【讨论】: