如今,UI自动化测试工具就和雨后春笋般,层出不穷。由于每种工具都有自己的重点和策略,所以总是让人无从下手。今天我们来对比现在使用比较广泛的几个UI自动化测试工具,来看看他们之间的优缺点。
首先,我们先简单介绍一下这几个工具。
Selenium
https://www.selenium.dev/
这个大家也太熟了,但我还是要简单介绍一下。Selenium是一个用于Web应用程序测试的工具。Selenium可以直接在浏览器中运行,支持IE、火狐、谷歌等浏览器。Selenium主要测试与浏览器的兼容性,测试不同的系统功能,支持自动录制动作和自动生成。
龙测AI-TestOps云平台
https://www.dragontesting.cn/index.html
龙测以自研的ARM技术为核心框架,利用AI技术来帮助进行UI自动化测试,目前支持windows、Android、web和小程序。
Airtest
https://airtest.netease.com/
Airtest是一个跨平台的、基于图像识别的 UI 自动化测试框架,适用于游戏和App,支持Windows、Android和iOS。
TestCafe
https://testcafe.io/
基于Node.js的端到端Web自动化测试框架,支持TypeScript或JavaScript来编写测试用例-运行用例-生成自动化测试报告。TestCafe兼容Windows、MacOS和Linux系统,同时也支持桌面、移动端浏览器,并且无需安装浏览器对应的WebDriver。
我将从工具本身属性、优势、劣势这三个方面来对这四个软件进行对比分析。
工具本身属性
Selenium通过代码提取UI元素,浏览器支持火狐、谷歌和IE,浏览器不兼容,需要webdrive驱动,开发系统是Windows、LInux和Android,开发语言是python、java、JS等,不支持录制,也没有测试报告。
上手难度:高
龙测AI-TestOps云平台通过界面录制+AI元素识别提取UI元素,浏览器支持谷歌、火狐、edge和IE,浏览器不兼容,需要websocket驱动,开发系统是Windows、Android和Linux,开发语言是JS、python,支持录制,有详细的测试报告。
入门难度:易
Airtest通过代码实现+界面录制+sikuli图像识别提取UI元素,浏览器支持火狐、谷歌、IE主流,浏览器不兼容,由代码设定,开发系统是Windows、iOS和Android,开发语言是python,支持录制,有详细的测试报告。
入门难度:中
TestCafe通过界面录制+代码实现提取UI元素,浏览器支持谷歌、火狐、IE主流,浏览器兼容,开发系统是Windows、Linux、iOS,开发语言是JS,支持录制,有详细的测试报告。
入门难度:易
优势
Selenium最大的优点就是诞生的时间比较长,支持多语言,插件众多,很多社区支持,也能够跨平台。
龙测AI-TestOps云平台的识别准确率很高。借助Selenium和appium的控件定位和OCR、OPENCV的视觉定位来录制UI元素,支持0代码、图形化,比较方便。AI是他们区别于其他三家的最大优势,他们有自主AI模型,最新推出的视频AI转流程图,可以让使用者在手机上录制真实步骤后,就能AI转化出对应的测试用例。
Airtest的框架基于图形识别和UI,控件识别,操作简单,并且对代码的能力要求低,可以录制脚本一键生成报告,支持python个性化编辑。
Testcafe的优点是不需要专业知识,操作简单,可以兼容浏览器,无需各种浏览器插件。
劣势
Selenium的学习难度比较高,需要花点时间好好的学学,没法做到立马就能上手,同时很多有用的功能也没有,比如:生成测试报告,并且浏览器兼容问题频发。
龙测AI-TestOps云平台在控件识别上会遇到控件位置变更和控件图案修改的情况,但是借助AI视觉识别能够继续达成想要的效果。同时,龙测的运行速度要稍微慢一点,可能正是因为需要借助AI识别图像的原因。
Airtest成也萧何败也萧何,控件识别做的很好,但是定位的准确度就差强人意,当控件位置变更或者控件图案修改的情况下会出现找不到控件的情况;不支持断点续传;不兼容浏览器。
Testcafe的劣势就比较明显了,启动速度慢,开发语言也比较单一。