如今,UI 自动化测试工具就和雨后春笋般,层出不穷。由于每种工具都有自己的重点和策略,所以总是让人无从下手。今天我们来对比现在使用比较广泛的几个 UI 自动化测试工具,来看看他们之间的优缺点。
首先,我们先简单介绍一下这几个工具。
Selenium
这个大家也太熟了,但我还是要简单介绍一下。Selenium 是一个用于 Web 应用程序测试的工具。Selenium 可以直接在浏览器中运行,支持 IE、火狐、谷歌等浏览器。Selenium 主要测试与浏览器的兼容性,测试不同的系统功能,支持自动录制动作和自动生成。
龙测 AI-TestOps 云平台
https://testerhome.com/users/third_app_login/dragontesting
龙测以自研的 ARM 技术为核心框架,利用 AI 技术来帮助进行 UI 自动化测试,目前支持 windows、Android、web 和小程序。
Airtest
Airtest 是一个跨平台的、基于图像识别的 UI 自动化测试框架,适用于游戏和 App,支持 Windows、Android 和 iOS。
TestCafe
基于 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 的劣势就比较明显了,启动速度慢,开发语言也比较单一。