java - 硒与打字稿
问题描述
使用带有 Typescript 的 selenium 比使用带有 Java 的 selenium 有什么优势。哪些类型的 Web 应用程序可以用 Selenium+Typescript 自动化,为什么这些不能用 selenium+java 完成?
解决方案
在自动化方面 - > 类型脚本基本上由诸如量角器之类的工具使用,这些工具实际上使用了 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 的客户端网站
推荐阅读
- ios - 从通知服务扩展访问应用程序代码
- html - 如何使用 Firebase 设置付费墙?
- javascript - Ionic FirebasePlugin.verifyPhoneNumber() 在 iOS 中不起作用
- php - 致命错误:未捕获的错误:在 C:\apache\htdocs\inventory_manager\app\public\index.php:17 中找不到类“订单”
- html - 如何使 p 出现在图像的悬停 ONTOP 上?
- powerbi - 如何在一次操作中在所有 Power BI 可视化上“恢复为默认值”?
- typo3 - 在前端按年份分组新闻(TYPO3,新闻系统)
- java - 在 Java 中跨不同属性文件共享公共属性
- sql-server - Google Apps 脚本到 Microsoft SQL Server 澄清在数据库设置中将某些 IP 范围列入白名单
- php - 我该如何解决这个无限循环?