功能测试的自动化工具,除了之前介绍的单元测试工具 、 接口测试工具,还有一大类工具——就是今天要介绍的基于UI的功能测试工具,它主要是通过操控UI元素(如菜单、按钮、图标、文本框、列表、对话框等)来驱动系统事件发生,并查看系统的表现(主要是UI表现,如屏幕验证、新的GUI元素的显示、UI元素大小和位置的改变、文字及其排列、可用性条件和数据完整性等)作为验证点来完成。
基于UI的功能测试工具常常有录制和回放功能,能够录制UI的操作过程,即捕获到键盘&鼠标操作并记录下来,然后在之后回归测试中再通过回放之前录制的过程来验证原有功能是否正常。但人们更希望写结构化的自动化脚本,再演化为关键字驱动脚本和数据驱动脚本,这样有利于脚本的复用和维护。再继续演化,不是简单的“自动录制操作过程”,而是依赖于基于模型的测试(MBT)和AI技术来构建测试模型生成测试脚本,或录制操作过程生成操作路径,这样就形成一类新的UI测试工具——无代码的功能测试工具。
基于UI的功能测试工具很多,由于篇幅所限,不能一一介绍,像大家特别熟悉的Appium、AutoIT、Selenium/Watir、TestComplete 等工具就不介绍了,有些工具在接口测试、嵌入式软件工具中介绍过的,这里也不重复介绍,如Katalon Studio、Squish等,而我们把重点放在比较流行、有特点的工具上,也会倾向于成熟的开源工具等。像Robot Framework、Cucumber等属于BDD测试框架,也不在UI功能测试工具范围内,所以最终选择下列十大工具:
-
Cypress
-
LambdaTest
-
Maveryx
-
Kobiton
-
Ranorex Studio
-
Sahi Pro
-
SikuliX
-
Subject7
-
Telerik Test Studio
-
Testsigma
1. Cypress
Cypress是面向web的、端到端的、开源的自动化测试工具,在