您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > web测试 > 正文

盘点十大最新Web UI测试工具

发表于:2019-11-12 作者:佚名 来源:51cto

在过去的几年中,业界至少出现了十二种全新的UI测试自动化工具。虽然每一种工具都有各自的侧重点,但是它们普遍将出色的可用性和良好的用户体验放在了首位。在此,我将为您盘点目前十大最新Web UI测试工具的各自优缺点,以方便您根据实际情况进行选择。


1. Parasoft Selenic

目标用户:针对那些在现有的Selenium上花费了大量时间维护测试脚本的用户。

Parasoft Selenic通过添加由AI驱动的定位器(locators)和自我修复功能(self-healing,https://dzone.com/articles/how-to-create-a-self-healing-it-infrastructure),来增强现有的Selenium测试实践。通过直接集成到用户现有的CI/CD管道中,Selenic可以在运行时(runtime)分析Selenium的各项测试。如果检测到诸如:由定位器或等待条件导致的故障,它将自动修复测试,并提供针对下一次运行此类测试的有关修复方法建议。在实际应用中,Selenic利用Chrome记录器,来生成Selenium测试。该测试通过页面对象模型(page object model),来实现极好的可维护性。

定价:提供项目和/或团队的年度订阅方式。

优点:

  • 智能记录器(Smart recorder)能够使用那些页面对象模型,来轻松地创建Selenium测试。
  • 建议在现有的Selenium测试中使用到智能定位器,并能够在现有的Selenium测试中执行自我修复。
  • 通过利用现有或创建新的Selenium脚本,直接集成到CI/CD管道中。
  • 提供测试影响分析(test impact analysis)技术,以自动判断需要在CI/CD管道中执行哪些Selenium测试,并且验证代码新的更改。
  • 提供各个级别的客户支持,而不仅限于企业用户。

缺点:

  • 没有免费的正式版,只有免费的试用版。
  • 由于相对较新,其当前的版本仅支持Java、JUnit 4和Eclipse。而对于Cucumber、JUnit 5、TestNG和IntelliJ的支持,已在其2020年的路线图上。

关键要点:正如Gartner Peer Insights所言,通过拥有世界级的客户和30多年软件测试经验的Parasoft对其进行加持,Selenic能够轻松地对现有的Selenium测试提供各种AI支持。


2. Katalon

目标用户:针对同时会用到代码和无代码测试工具的用户。

作为一种免费工具,各种系统集成商可以频繁使用Katalon(https://dzone.com/articles/easy-testing-katalon-studio-at-a-glance),来进行UI测试。作为Chrome浏览器的插件,其记录器既能够生成各种测试用例,又能够在页面对象模型中构建其Katalon IDE,因此该工具比较容易维护。用户可以直接在其IDE中随时开展测试,或者将其导出到许多不同类型的测试脚本之中。

定价: Katalon Studio的基本版是免费的。其付费插件可通过市场进行订购。如果需要提供企业级的技术支持,用户则需支付更多的费用。

优点:

  • 提供智能定位器的推荐。
  • 提供仅用于在IDE中生成和管理测试的页面对象模型。
  • 通过付费插件提供自我修复功能。
  • 能够导出到许多不同类型的测试脚本中。

缺点:

  • 尽管可以将测试导出为Selenium和其他类型的测试脚本,但是用户无法导出页面对象模型。而且一旦完成导出,Katalon则会变得不可用。这就意味着:测试会变得难以重用和维护。
  • 对于客户的支持仅停留在企业级别,并且非常昂贵。
  • 必须使用专有的框架、以及CI集成插件,否则无法直接集成到现有的执行框架中。

关键要点:无需任何技术知识,用户可以直接使用Katalon。借助程序中的关键字,用户可以快速创建各种测试用例。Katalon Studio虽然是免费可用的,但是用户若要获得更多创新性的技术优势,则必须升级或购买付费版的插件。


3. Selenium IDE

目标用户:正在寻找以UI驱动的记录和回放工具的用户。

Selenium IDE是一个开源的项目。通过将Selenium的功能整合到Chrome的插件中,用户可以开展各类测试。

定价:免费。

优点:

  • 用户可以将任何已创建的测试导出到脚本中,通过其强大的功能,来创建相应的UI测试。
  • 能够针对其记录的每个元素,提供多种定位策略。
  • 具有仅限于Selenium脚本的自我修复功能,不过可靠性不高。

缺点:

  • 不能完全适合用户的CI/CD流程。
  • 在查找bug或进行黑盒测试时,无法提供全面的信息,因此用户需要通过导出代码来进行深入分析。
  • 在构建测试时,无法使用页面对象模型。
  • 虽然用户可以用多种不同的语言来导出测试,但是却无法导入。
  • 虽然提供CI集成,但它无法被直接集成到用户现有的框架中。

关键要点:用户能够轻松地通过Selenium IDE,来快速针对其Web UI创建测试。那些熟悉Selenium框架的用户很容易上手并开展测试。


4. mabl

目标用户:针对那些不愿意编写测试或构建UI测试环境的用户。

在UI测试方面,mabl有着独到的办法:它并不针对测试本身,而是采用了遍历流程。用户只需登录到他们的网站上,定义一个遍历目标应用的流程即可。可见,它虽然并未给用户提供任何测试用例、以及真正需要解决的问题,但是,它允许用户定期运行该流程,并产生相应的执行结果。

定价:根据执行遍历流程的次数进行分层定价。

优点:

  • 提供智能定位器的推荐,不过用户对此不甚了解。
  • 具有良好的自我修复功能。
  • 提供易于获取和上手的SaaS解决方案。
  • 具有灵活的定价模型。

缺点:

  • 在记录遍历流程时,并未使用到页面对象模型。
  • 由于使用独特的框架,因此无法导入和导出测试脚本。
  • 对于现有的CI集成,用户无法直接将解决方案集成到现有的框架中。
  • 如果无法按照预期工作,则很难通过访问“代码”来进行配置或操作。
  • 过于关注遍历流程,而忽略了对于功能的验证。
  • 由于是一种SaaS解决方案,因此无法在本地进行部署,也无法访问到并未联网的应用。

关键要点:mabl可以通过复杂的自动修复功能,来帮助用户提高发布流程的速度和质量。无论应用程序的UI被执行了何种更改,该工具都能开展稳定的自动化测试。虽说mabl是人们在后台的指挥下去自动执行测试,但是有些用户会认为这是将自己的控制权交了出去。


5. TestIM

目标用户:由于偏重于复杂工作流的执行路径,因此它更适合那些需要针对UI测试的开箱即用型方案的用户。

TestIM是也一款SaaS应用程序。作为一个简单易用的UI自动化测试方案,它可以帮助开发者弄清针对于某个简单bug的修复,以及对应用其他部分所造成的何种影响。

定价:提供基于已测试数量的年度订阅计划。

优点:

  • 提供直观的用户界面,易于创建各种测试。
  • 提供智能定位器的推荐,以及能够维护它们的各种策略。
  • 具有强大的自我修复能力。

缺点:

  • 在测试中无法使用页面对象模型。
  • 缺乏导入/导出测试脚本的能力。
  • 用户无法访问代码、或将测试移出TestIM。
  • 其测试脚本只能在TestIM框架中被使用。

关键要点:用户能够轻松地获取TestIM技术,并快速创建可以正常使用的测试用例。当然,在提供良好的用户体验的同时,TestIM也具有强大的自我修复能力。TestIM的主要挑战在于它无法访问测试的核心。而且,由于所有的测试都必须在TestIM框架之中,因此有可能会“绑架”用户当前以及未来的业务模型。


6. Functionize

目标用户:针对需要通过UI测试,而进入行为驱动开发(BDD,Behavior Driven Development)的手动测试人员、或非技术测试人员。

通过在定位器策略等方面的改进,Functionize提供了全面的Web UI测试工具,以方便用户轻松地针对应用程序创建自动化测试平台。当然,这些都必须在其专有框架中完成。

定价:尚无公开定价。

优点:

  • 提供出色的可视化显示与测试流程。
  • 提供多元素定位器的推荐。
  • 具有自我修复能力。

缺点:

  • 无法使用页面对象模型。
  • 框架较为封闭。
  • 无法导入/导出测试脚本。

关键要点:Functionize的AI能够帮助用户消除测试中碰到的各种混乱状况,进而提高测试人员的准确性和效率。在考虑如何将其引入现有流程时,用户需要顾及其框架封闭性。


7. Perfecto

目标用户:针对那些寻求一站式界面与移动测试的用户。而且,由于不涉及到脚本,因此它最适合那些不想写代码的人。

一直专注于移动测试的Perfecto,有着不错的UI测试生态系统。它可以被用来创建、维护、执行云相关的应用,并产生报告。

价格:年费在99美元至3588美元之间。

优点:

  • 只能在其生成的测试中使用到页面对象模型。
  • 提供多个定位器,来记录Web元素。
  • 最近推出了自我修复功能,但其功能或性能尚不明确。

缺点:

  • 其测试脚本采用了专有的基于TCL的语言。
  • 用户无法导入自己的Selenium脚本。
  • 虽然提供与CI的集成,但它无法被直接集成到用户现有的框架中。

关键要点:Perfecto提供了有关维护和编写测试脚本,管理和验证测试,以及调试各种缺陷的解决方案。其UI测试解决方案,为用户提供了创建脚本和无脚本两种选项。另外,Perfecto最近在维护和自我修复方面也有所提升。


8. TestCraft

目标用户:针对那些不想编写代码、却又想通过高级分析来验证其测试效果的用户。

TestCraft是一个无代码的Selenium自动化测试平台。它拥有相关的AI技术和独特的可视化建模功能。在消除测试维护开销的同时,它能够快速地创建和执行测试。

定价:尚无公开的定价信息。

优点:

  • 只能在其生成的测试中使用页面对象模型。
  • 提供“智能绑定”式定位器的推荐和自我修复。
  • 其内置的调度程序,可以让用户在设定的时候执行测试流程。

缺点:

  • 只能使用专有的框架。
  • 无法导入/导出测试脚本。
  • 虽然可以作为插件与CI相集成,但是无法集成到用户现有的框架中。

关键要点:TestCraft是一款功能强大的SaaS应用程序。它能够方便测试人员无需编写代码,即可创建全自动的测试场景。用户在UI上记录他们的测试用例,TestCraft将为每个测试流创建一个模型,并直观地指示出测试所执行的不同路径。用户在使用复杂的用例模型时,往往会使用到该工具。


9. Ranorex Webtestit

目标用户:适合于那些熟悉代码,却又不想花费时间自行构建结构化Selenium脚本的人员。

作为一家以桌面自动化工具闻名的公司,Ranorex于2019年7月发布了全新产品--Webtestit。Ranorex采用了“设计优先”的方法,而并非进行代码级的记录和回放。用户可以通过界面的交互,以及在专有的IDE中进行辅助操作,来构建各种脚本。业界推测Webtestit将来很可能会取代Ranorex Studio。

定价:每月40美元。

优点:

  • 用户可使用页面对象模型,来创建测试。
  • 其免费的Selocity Chrome插件,可用来实现定位器的推荐。用户可以导入Selenium脚本。
  • 可在IDE中创建不同的测试,以及各项辅助性操作。

缺点:

  • 虽然记录和回放功能不尽完善,但它是入门级测试​​的关键组件。可惜该工具并无此功能。
  • 提供专有的IDE,当然对于大多数开发人员来说,他们可能要放弃熟悉的Eclipse或IntelliJ等IDE。
  • 由于用到了专有的执行框架,因此用户需要使用其插件,才能作为CI的一部分执行下去。
  • 作为测试创建类型的解决方案,它在运行时不具备分析或自我修复功能。

关键要点:虽然没有记录和回放功能,但是它可以鼓励用户从下至上,而非自上而下地进行构建。因此,该方案对于那些希望拥有辅助代码创建工具的组织来说比较实用。通过与Selocity的Chrome插件组合,用户可以使用页面对象模型,来绘制出各种页面对象,并将它们导入到Webtestit工具里。


10. AutonomIQ

目标用户:针对那些同时会用到代码和无代码测试方案的用户。

AutonomIQ具有AI、机器学习、以及自然语言处理(NLP)的能力。它针对UI测试自动化提出了三步走。首先,通过其AI来发现目标应用;然后,在发现过程中构建测试用例;最后,使用分析引擎来监视和维护各种测试用例。

定价:尚无公开的定价信息。

优点:

  • 具有强大的NLP、AI和机器学习能力。
  • 仅能在其生成的测试中使用到页面对象模型。
  • 通过其Chrome插件来实现智能定位器的推荐。
  • 在执行过程中具有自我修复能力。

缺点:

  • 仅能使用专有的框架。
  • 无法导入测试脚本。
  • 虽然可以作为插件与CI相集成,但是无法集成到用户现有的框架中。

关键要点:该工具看似全面且完美,但是笔者至今无法通过任何实际案例的研究或用例,来找到其对应的客户。当然,从工具本身来看,它具有一定的颠覆性实用价值。

原文标题:The Top 10 New Web UI Testing Tools Everyone's Talking About,作者:Chris Colosimo