2020 | 可替代Selenium的测试框架Top15
本文首发于 微信公众号: 软测小生
Selenium是一种开源自动测试工具。它可以跨不同的浏览器和平台在Web应用程序上执行功能,回归,负载测试。Slenium是最好的工具之一,但确实有一些缺点。
业界有一些强大的工具可以替代Selenium,精挑细选的Selenium替代清单如下。
1、TestCraft
TestCraft是一个无代码的Selenium测试自动化平台。革命性的AI技术和独特的可视化建模可以更快地创建和执行测试,同时消除测试维护开销。测试人员无需编码即可创建全自动测试场景。
客户可以更快地发现bug,更频繁地发布bug fix,与CI/CD集成,提高数字产品的整体质量。
主要特点:
- 无需编程技能。利用手动测试人员的业务知识,并允许他们创建自动化测试场景。
- 大大降低维护成本。由于使用AI机制,脚本会自动进行调整以进行更改。只需单击几下,即可进行主要更改。
- 基于Selenium,快速集成和利用社区开发的模块
- 提供即时的时间价值。无需安装(SaaS)。很容易掌握
2、mabl
mabl提供无脚本的端到端测试自动化,与交付管道集成,因此您可以专注于改进你的应用程序。
主要特点:
使用专有的机器学习模型,mabl可以快速自动识别和处理应用程序问题,因此您可以:
- 快速修复bug--健壮的测试输出可以帮助您快速诊断和修复bug,以免它们影响客户。
- 交付更多代码--用户界面更改时,测试会自动修复,因此你可以花更少的时间维护测试。
- 保持质量--通过对每个构建进行自动回归分析来防止不良发布。
3、HeadSpin
HeadSpin是世界上第一个互联智能平台TM,提供Web,移动,IoT和5G解决方案,在应用程序、设备和网络之间统一测试、监控和分析。 HeadSpin授权开发、QA、运营和产品团队优化互联体验,确保数字业务的成功。
主要特点:
- 通过共享设备云访问30多个国家的300多台设备:
- 远程调试
- 支持真机SIM的Android和iOS设备
- 500 +并发测试
- 回归测试
- 自动化
- 本地化测试
- 本地调试和代码分析
4、Squish
Squish是全球3000多家公司的GUI测试自动化工具的首选,可以自动化其图形用户界面(GUI)和人机界面(HMI)的功能回归测试和系统测试。Squish GUI测试工具是一个100%跨平台的工具。
主要特点:
- 对所有主要GUI技术的深入支持
- 完全支持所有桌面、移动、web和嵌入式平台
- 测试脚本录制
- 强大可靠的对象识别和验证(基于对象和基于图像)
- 不依赖于屏幕截图或视觉外观
- 强大的集成开发环境(IDE)
- 多种流行的脚本语言可用于测试脚本
- 全面支持行为驱动开发(BDD)
- 通过命令行工具完全控制
- 与测试管理和CI系统集成
5、TestCafe Studio
TestCafe Studio是一个跨平台、端到端的web测试平台。TestCafe Studio允许您使用zero代码创建、运行和维护自动化的web测试。
主要特点:
- 内置的视觉测试记录仪–无需代码。
- 跨平台和跨浏览器——在Windows、macOS、Linux、iOS、Android以及Chrome、Firefox、Safari、Edge和IE中运行测试。
- 不需要额外的工具——不需要WebDriver,浏览器插件或其他测试软件。
- 自动生成的元素选择器——TestCafe Studio为测试中使用的每个页面元素生成一个选择器,并提供涵盖各种测试场景的其他选择器列表。
- 内嵌等待机制
6、Ranorex
使用Ranorex Webtestit,这是为使用Java或TypeScript进行Web测试自动化而设计的轻量级IDE,为Selenium提供了开箱即用的Web测试自动化。跳过耗时的设置,并通过优化的工作流程和最佳实践来减少维护工作。
主要特点:
- 快速而简单的设置:搭建你的整个测试框架
- 自动应用最佳实践,如页面对象模式
- 使用Chrome DevTools的Ranorex Selocity扩展立即生成UI元素选择器和屏幕截图
- 创建高效的Selenium兼容代码
- 将跨浏览器测试分发到本地WebDriver端点,Selenium Grid或基于云的提供程序
- 与Jira、VSTS、Jenkins和TestRail等工具集成
7、Parasoft Selenic
Parasoft Selenic利用AI解决了Selenium方面的问题,因此您不必摆脱Selenium。它可以直接与你现有的Selenium测试一起使用,因此您不会被限制在一个专用平台上。
主要特点:
- 运行时自我修复,运行后执行AI驱动的建议。你可以有效地维护现有的Selenium脚本,从减少维护,减少修复bug而减少测试时所花费的时间。
- 使用页面对象模型创建Selenium测试套件。团队可以从一开始就迅速建立可维护的测试实践。
- 使用“测试影响分析”优化测试执行。与底层代码更改相关的测试执行可以从CI/CD管道获得更快的反馈。
8、Subject7
Subject7是一个自动化平台,可通过一系列命令提供端到端测试自动化功能。这些命令可以通过一个易于使用的web界面获得。模仿用户操作,每个命令都隐藏了诸如Selenium,Appium,SikuliX,JMeter,ZAP等行业标准软件包的复杂性。
主要特点:
- 易于使用的非编码器Web界面
- 与JIRA,Jenkins和REST支持的DevOps管道集成
- 利用AWS,Azure和Google云进行零设置并扩展执行范围
- 电子邮件通知,视频记录,团队协作等
- 使用Selenium和Appium等开源标准来驱动Web端和移动端(Mobile)
9、 Cypress
Cypress是针对Web环境的开源测试自动化解决方案。与Selenium相比,该工具与当前的开发实践紧密结合。
主要特点:
- 测试状态菜单功能 --> 可查看通过或失败的测试数量
- Cypress会自动等待命令和断言再继续
- 允许检查响应网站与视窗大小。
- 它拍摄测试运行的快照。对于无头浏览器执行,它会用视频记录整个测试运行的过程。
- Cypress会自动重新加载测试中所做的所有更改
- 命令日志和应用程序预览显示了在测试执行过程中Web应用程序上精确的自动化操作。
10、iMacros
iMacros是用于Web测试的记录和回放工具。 iMacros还可以使重复的工作自动化。该测试工具用于
- 浏览器自动化
- Web 测试
- 数据提取
主要特点: - Internet Explorer、Firefox和Chrome的免费附加组件。可以自动化几乎所有的网络任务。
- 允许对web应用程序进行功能、性能和回归测试
- iMacros允许将数据从电子表格上传到网站,或直接在网站中填充Excel表格。
- 对网站技术(包括Java,Flex,Ajax或Silverlight小程序)进行功能,性能和回归测试的自动化。
11、Cucumber
Cucumber是一个开源的BDD(行为驱动开发)测试工具。
主要特点:
- 由于使用了BDD,业务和IT团队可以深入理解测试。
- Cucumber将规范和测试文档合并成一个紧密的整体
- 不断更新,并有大量的社区支持。
12、UFT (Unified Functional Test)
UFT也被称为QTP(快速测试专家),是最强大的商业测试自动化工具。最初由Mercury Interactive开发,后来被HPE收购,现在由MicroFocus拥有。它对于功能测试和回归测试很有用。
主要特点:
- UFT不仅支持web,还支持各种开发环境,如SAP、Oracle、Seibel等。
- 该工具支持跨浏览器和多平台测试,
- 允许跨多台机器分布测试。
- 基于图像的目标识别是业界最好的。
- 视觉测试脚本设计,有助于更快的测试修改和升级。
- QTP/UFT使用VBScript语言,与其他测试脚本语言相比,VBScript语言易于使用。
13、Serenity
Serenity BDD是自动化验收和回归测试的selenium替代品。此工具生成记录和描述功能测试覆盖率的测试报告。
主要特点:
- 每个测试步骤的注释/叙述和屏幕截图。
- 通过需求或发布汇总来聚合测试结果。
- 帮助你编写更干净、更容易维护的自动化代码。
- 将你的自动化测试映射回你的需求
- 提供了测试覆盖率。
14、IBM Ration Functional Tester
IBM Rational Functional Tester是一个功能和回归自动化测试工具。该软件为功能,回归,GUI和数据驱动的测试提供了自动测试功能。它支持Java,Siebel,SAP,Net,PowerBuilder,Ajax等一系列应用程序。
主要特点:
- 通过屏幕截图进行可视化编辑
- Rational Functional Tester使您的开发团队能够创建相关的关键字脚本,这些脚本可以方便地重用,从而提高效率。
- 使用Eclipse,可以更轻松地用Java编写测试脚本代码。
- 此功能测试工具可自动完成代码,并提供高级调试选项
- 易于与其他第三方软件集成
15、Galen framework
Galen框架最初是为了在真实的浏览器中测试web应用程序的布局而引入的。今天,它已经成为一个功能齐全的测试框架。这个自动化测试工具可以与Selenium集成,用于web应用程序的可视化和布局测试。
主要特点:
- 基于HTML的错误报告与截图
- 易于编写/读取的语法
- 它提供了多种浏览器支持
- 使用Galen specs语言,你可以描述任何复杂的布局,包括不同的屏幕大小或浏览器。
- Galen Framework在Selenium Grid中运行良好。这允许设置测试以在类似云的Sauce Labs或BrowserStack中运行。
- 图像对比功能。
16、SikuliX
SikuliX可自动执行Windows,Mac或Linux / Unix操作系统中屏幕上显示的所有内容。它使用OpenCV提供的图像识别功能来识别和控制GUI组件。 SikuliX工作流程基于搜索图像并使用鼠标和键盘作用于GUI元素。
主要特点:
- SikuliX可用于自动执行重复性任务。
- 它可以用于自动化日常使用的任务或Desktop/Web应用程序。
- 测试正在开发的应用程序或Web。
17、Redwood
RedwoodHQ是一个开源测试自动化框架。它安装在单个服务器上,可以从Web界面使用多个人。它可以与任何兼容HTML5的浏览器一起运行,而无需进行任何安装。
主要特点:
- 它允许实时观察测试执行情况以及详细结果,可单击的堆栈跟踪异常和屏幕截图。
- 它允许在多台机器上并行执行自动化测试用例。
- 导入现有的TestNG / JUnit测试用例并开发新的用例。
- 与Jenkins或TeamCity之类的工具兼容,以与持续集成过程集成
18、Watir
Watir是用于自动化测试的开源Ruby库。它支持功能和回归Web测试。
主要特点:
- 它支持web应用程序,不管它是在什么地方开发的。
- 它支持不同平台上的多个浏览器。
- Watir是一个Ruby库家族,但它支持所有其他技术。
- 它使用Ruby(一种功能齐全的现代脚本语言)而非专有的商业脚本。
19、Telerik Test Studio
Test Studio是由Progress开发的软件自动化工具。它支持自动化的应用程序,例如AJAX,HTML5,JavaScript,Silverlight,WPF,MVC,iOS,Android,PHP。它具有本机跨浏览器支持,并且是一种记录和回放工具。
主要特点:
- 可以执行API以及负载测试吗。
- 强大的对象存储库功能。
- 支持持续集成。
- 对Telerik UI控件的本机支持。
- 测试HTML弹出窗口和浏览器对话框。
20、Screenster
Screenster是基于云的UI测试平台。它用于Web应用程序和网站的视觉回归测试。它捕获每个步骤的屏幕快照并将其存储为基线。
主要特点:
- 低代码解决方案,使您无需手工编码即可自动执行UI测试。
- 以最简单和最快的方式记录测试,以自动化可视化测试。
- Screenster可以将测试作为CI的一部分运行。因此,如果在基线运行和回归运行之间检测到差异,则测试将标记为失败。
- Screenster具有强大的功能,例如自动更正智能选择器和自动超时管理。
21、Katalon Studio
Katalon Studio是一个自动化测试工具,可用于Web和移动应用程序测试;它是为支持不再能够记录和回放自动化测试的用户而开发的。
主要特点:
- 提供用于组织关键字,测试用例和对象存储库的项目模板。
- 允许对Web、iOS、Android、iOS和OS系统进行API测试
- 易于与JIRA、Jenkins、GIT和qTest与本地插件集成
- 使用IDE构建高级脚本或使用表格界面自定义步骤
22、Tricentis Tosca
Tricentis Tosca是一个持续测试平台,可加速测试以与DevOps和Agile保持同步。通过提供基于模型的测试自动化的可维护性,它允许重用测试。它有助于将回归测试时间减少到几分钟。
主要特点:
- 自动化API, SAP,网络,机器人,移动等。
- 为敏捷和DevOps提供快速的反馈。
- 将回归测试时间减少到分钟。
- 清晰了解业务风险。
23、Cloud QA
CloudQA是支持SaaS的功能测试自动化工具,用于基于Selenium构建的Web应用程序。这种硒替代品包括三种不同的工具,即TruRT用于功能和回归测试,TruLoad用于负载测试,TruMonitor用于综合监控。
主要特点:
- 完全集成的QA自动化工具。
- 测试模块是在一个具有通用架构的平台上开发的。
- 它提供了一个无代码环境来设置健壮的自动化测试用例。
- 允许与其他ALM、bug跟踪和版本控制工具集成。