功能测试的自动化工具,除了之前介绍的 单元测试工具 、 接口测试工具 ,还有一大类工具——就是今天要介绍的 基于UI的功能测试工具,它主要是通过操控UI元素(如 菜单、按钮、图标、文本框、列表、对话框等)来驱动系统事件发生,并查看系统的表现(主要是UI表现,如 屏幕验证、新的 GUI元素的显示、UI元素 大小和位置的改变、 文字及其排列、 可用性条件和数据完整性等 )作为验证点来完成。
基于UI的功能测试工具常常有录制和回放功能,能够录制UI的操作过程,即 捕获到键盘&鼠标操作并记录下来,然后在之后回归测试中再通过回放之前录制的过程来验证原有功能是否正常。但人们更希望写结构化的自动化脚本,再演化为关键字驱动脚本和数据驱动脚本,这样有利于脚本的复用和维护。再继续演化,不是简单的“ 自动录制操作过程”,而是依赖于 基于模型的测试(MBT)和AI技术来构建测试模型 生成测试脚本,或录制操作过程生成操作路径,这样就形成一类新的UI测试工具——无代码的功能测试工具,可以参考之前发表的文章: 2020年软件测试趋势报道:无代码化的测试自动化 。文章源自玩技e族-https://www.playezu.com/61788.html
基于UI的功能测试工具很多,由于篇幅所限,不能一一介绍,像大家特别熟悉的Appium、AutoIT、Selenium/Watir、TestComplete等工具就不介绍了,有些工具在接口测试、嵌入式软件工具中介绍过的,这里也不重复介绍,如 Katalon Studio、Squish 等,而我们把重点放在比较流行、有特点的工具上,也会倾向于成熟的开源工具等。像 Robot Framework、Cucumber等属于BDD测试框架,也不在UI功能测试工具范围内,所以最终选择下列十大工具:文章源自玩技e族-https://www.playezu.com/61788.html
1. Cypress文章源自玩技e族-https://www.playezu.com/61788.html
文章源自玩技e族-https://www.playezu.com/61788.html
Cypress是面向web的、端到端的、开源的自动化测试工具,在github的star数目前已经是35.2k+,可见深受广大测试人员的欢迎。Cypress能够 随意调整页面访问窗口的尺寸、 自动重新加载测试、 自动等待等, 可以实时看到有多少个测试通过或是没通过,并且具有良好的 可调试性, 像chrome的DevTools一样直接调试,可以快速的追踪到出错栈,可以在测试运行中自动存储视频以及出错时候截屏存储,鼠标滑过命令行时可以看到这个命令行执行时的动画。文章源自玩技e族-https://www.playezu.com/61788.html
官方站点:https://www.cypress.io/文章源自玩技e族-https://www.playezu.com/61788.html
开源代码:https://github.com/cypress-io/cypress文章源自玩技e族-https://www.playezu.com/61788.html
2. LambdaTest文章源自玩技e族-https://www.playezu.com/61788.html
LambdaTest是领先的跨平台、跨浏览器测试自动化工具之一,可在基于云的Selenium网格上针对桌面、Android和iOS移动浏览器进行Selenium自动化测试。它还 集成了开发者工具,有助于在实时测试中调试问题,LambdaTest与JIRA,Asana,Github,Trello,Slack等项目管理工具集成在一起,从而轻松地与CI/CD流水线集成。文章源自玩技e族-https://www.playezu.com/61788.html
官方站点:https://www.lambdatest.com/文章源自玩技e族-https://www.playezu.com/61788.html
3. Maveryx
Maveryx是一种具有 开拓性的功能自动化UI工具,为广泛的桌面和Web技术提供了功能UI、数据驱动和关键字驱动测试能力。Maveryx获取正在运行的应用程序用户界面的快照,并借助内置强大的 智能对象识别引擎以标识要自动测试的UI元素,所以测试人员不需要创建/维护 对象库、UI地图等 ;也 可以使用关键字驱动的框架,以EXCEL格式创建复杂的测试。 Maveryx是一个Java和C#库的集合,可以从Eclipse和Visual Studio等IDE中导入项目,而且 Maveryx测试可以从命令行运行,这样任何CI服务器(如Jenkins)更容易集成/触发 Maveryx构建的回归测试,支持CI/CD。
官方站点:http://www.maveryx.com/
4. Kobiton
Kobiton也是一种面向移动应用的、低代码或无脚本技术的测试工具,可以在各种移动设备、针对不同技术的应用来验证UI和用户体验,甚至可以实现自动自我修复测试脚本,并完全支持Appium, Selenium, XCUI, Espresso,集成到所有的CI/CD平台上,最终确保获得良好的深度和广度的测试覆盖。
官方站点:https://kobiton.com/
5. Ranorex Studio
Ranorex Studio是一个商业化的Windows GUI测试自动化工具,全球有4000多家公司使用它来测试桌面、web和移动应用程序。对于初学者,它的使用也简单,可以使用无代码的点击式界面和有用的向导,但它也适合资深的自动化测试专家,有很强的功能,如可靠的对象标识(即使对于具有动态id的web元素)、可共享的对象存储库和可重用的代码模块、可定制的测试报告、并行运行测试(支持selenium Grid)等,能与Jira、Jenkins、TestRail、Git、Travis CI等工具集成。
官方站点:https://www.ranorex.com/
6. Sahi Pro
官方站点:https://www.sahipro.com/
7. SikuliX
官方站点:http://sikulix.com/
8. Subject7
Subject7涵盖Web、移动应用、桌面、数据库、WebService(REST/SOAP)、负载测试(有 负载生成引擎)、安全测试( 主动或被动安全检查)等测试,它利用 AI-enabled XPath生成引擎和NextGen Recorder和无代码网络界面实现了真正的无代码自动化, 加速了测试的编写和维护,并通过并行的云端执行进行能力的扩展,Subject7平台通过一系列命令提供了端到端的测试自动化功能。这些命令可通过易于使用的Web界面使用,隐藏了诸如Selenium、Appium、SikuliX、JMeter、ZAP等行业标准软件包的复杂性,但也可以在Universal Runner中直接使用现有的Selenium、 Appium、SikuliX、JMeter、ZAP脚本。它也容易 集成到JIRA,Jenkins,GitHub或任何DevOps平台中,以实时持续测试。
官方站点:https://www.subject-7.com/
9. Telerik Test Studio
Telerik TestStudio是基于Windows的商业软件测试工具,带有Visual Studio插件, 将无代码和基于代码的自动化功能融合在一个直观的用户界面中,使任何人都可以使用它进行自动化测试。它有 直观的测试记录器,支持跨浏览器和 智能混合元素检测,可以实现 Headless浏览器测试(可用于Chrome Headless,并能以完全无代码的方式加以利用),大大减少测试执行和提高测试的稳定性,并支持 支持OCR的PDF验证、 数据驱动的测试、 集成调度和远程测试执行和 CI/CD集成,支持Java、HTML、ASP.NET、Ajax、Silverlight等各种技术 。
官方站点:https://www.telerik.com/teststudio
10. Testsigma
Testsigma是 一款基于云端的、支持测试左移的、以AI驱动测试的自动化平台, 为Web、移动应用以及RESTful服务等各种应用的测试服务。 功能测试人员可以轻松地使用自然语言编写出简化的测试脚本,并通过可重用的步骤组合和集中对象存储库,从而最大限度地提高了测试代码的重用性。Testsigma能够与各种开源的或第三方工具相集成,为持续测试提供所有必需的功能,如数据驱动测试、跨浏览器测试、可重用性测试套件、测试计划与数据管理、电子邮件与Slack通知、并行测试执行、集中对象/元素存储库、综合报告、与CI工具的集成、以及自动化Bug报告等。
官方站点:https://testsigma.com/