查看原文
其他

2021年软件测试工具总结——十大新UI功能测试工具

Test Ninja 软件质量报道 2022-11-04


功能测试的自动化工具,除了之前介绍的 单元测试工具接口测试工具 ,还有一大类工具——就是今天要介绍的基于UI的功能测试工具,它主要是通过操控UI元素(如菜单、按钮、图标、文本框、列表、对话框等)来驱动系统事件发生,并查看系统的表现(主要是UI表现,如屏幕验证、新的GUI元素的显示、UI元素大小和位置的改变、文字及其排列、可用性条件和数据完整性等)作为验证点来完成。

基于UI的功能测试工具常常有录制和回放功能,能够录制UI的操作过程,即捕获到键盘&鼠标操作并记录下来,然后在之后回归测试中再通过回放之前录制的过程来验证原有功能是否正常。但人们更希望写结构化的自动化脚本,再演化为关键字驱动脚本和数据驱动脚本,这样有利于脚本的复用和维护。再继续演化,不是简单的“自动录制操作过程”,而是依赖于基于模型的测试(MBT)和AI技术来构建测试模型生成测试脚本,或录制操作过程生成操作路径,这样就形成一类新的UI测试工具——无代码的功能测试工具,可以参考之前发表的文章:2020年软件测试趋势报道:无代码化的测试自动化 。

基于UI的功能测试工具很多,由于篇幅所限,不能一一介绍,像大家特别熟悉的Appium、AutoIT、Selenium/Watir、TestComplete 等工具就不介绍了,有些工具在接口测试、嵌入式软件工具中介绍过的,这里也不重复介绍,如Katalon Studio、Squish等,而我们把重点放在比较流行、有特点的工具上,也会倾向于成熟的开源工具等。像Robot Framework、Cucumber等属于BDD测试框架,也不在UI功能测试工具范围内,所以最终选择下列十大工具:
  1. Cypress

  2. LambdaTest

  3. Maveryx

  4. Kobiton

  5. Ranorex Studio  

  6. Sahi Pro

  7. SikuliX

  8. Subject7

  9. Telerik Test Studio

  10. Testsigma


1. Cypress

Cypress是面向web的、端到端的、开源的自动化测试工具,在github的star数目前已经是35.2k+,可见深受广大测试人员的欢迎。Cypress能够随意调整页面访问窗口的尺寸、自动重新加载测试、自动等待等,可以实时看到有多少个测试通过或是没通过,并且具有良好的可调试性,像chrome的DevTools一样直接调试,可以快速的追踪到出错栈,可以在测试运行中自动存储视频以及出错时候截屏存储,鼠标滑过命令行时可以看到这个命令行执行时的动画。
官方站点:https://www.cypress.io/
开源代码:https://github.com/cypress-io/cypress

2. LambdaTest

LambdaTest是领先的跨平台、跨浏览器测试自动化工具之一,可在基于云的Selenium网格上针对桌面、Android和iOS移动浏览器进行Selenium自动化测试。它还集成了开发者工具,有助于在实时测试中调试问题,LambdaTest与JIRA,Asana,Github,Trello,Slack等项目管理工具集成在一起,从而轻松地CI/CD流水线集成。

官方站点:https://www.lambdatest.com/


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

Sahi Pro可以说是唯一的低代码测试自动化平台(其实不是),以简单而稳定的方式识别跨技术的元素,执行鼠标、键盘和触摸操作,支持Web、桌面、移动、Webserivce等。Sahi Pro的技术消除了对语句的等待,甚至对不一致的页面加载也不需要,从而使测试很稳定。Sahi Pro。Sahi Pro甚至可以在具有动态ID的应用程序上工作。能够使用内置的业务驱动测试自动化(BDTA)框架,支持并行执行和在不同的机器上分发测试

官方站点:https://www.sahipro.com/

7. SikuliX

SikuliX是一个基于图像识别的、开源的UI测试框架,可以针对Windows、Mac或一些Linux/Unix的桌面计算机屏幕上能看到的任何东西实现自动化测试,因为它使用由OpenCV驱动的图像识别来识别GUI组件,而无需了解隐藏着GUI下面的程序内部信息。除了在屏幕上定位图像外,SikuliX还可以运行鼠标和键盘,与确定的GUI元素进行互动,并带有基本的文本识别(OCR),可用于搜索图像中的文本。

官方站点: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集成,支持JavaScript、HTML、ASP.NET、Ajax、Silverlight等各种技术

官方站点https://www.telerik.com/teststudio


10. Testsigma

Testsigma是一款基于云端的、支持测试左移的、以AI驱动测试的自动化平台,为Web、移动应用以及RESTful服务等各种应用的测试服务。功能测试人员可以轻松地使用自然语言编写出简化的测试脚本,并通过可重用的步骤组合和集中对象存储库,从而最大限度地提高了测试代码的重用性。Testsigma能够与各种开源的或第三方工具相集成,持续测试提供所有必需的功能,如数据驱动测试、跨浏览器测试、可重用性测试套件、测试计划与数据管理、电子邮件与Slack通知、并行测试执行、集中对象/元素存储库、综合报告、与CI工具的集成、以及自动化Bug报告等。

官方站点https://testsigma.com/


其它参考:

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存