基于图片识别的 UI 自动化测试工具 SikuliX

简介

SikuliX 是一款开源的 GUI自动化测试工具,它的前身是 Sikuli(上帝之眼).SikuliX 在设计上使用到了图片识别技术,会通过不停的对桌面进行截图,然后与预期图片进行比较来判断交互条件.因此我们可以很方便的通过定义图片来设置交互条件如下:
基于图片识别的 UI 自动化测试工具 SikuliX_第1张图片上面就是通过SikuliX实现的一个简单的UI自动化脚本,它会通过鼠标点击...,然后点击保存按钮.我们无需手动判断...的位置,SikuliX会自动帮我们识别目标图案的位置.如果目标图案在桌面的位置不确定的情况下SikuliX提供了极大的便利.

SikuliX在功能上看起来和网易的 Airtest 非常像,它们都是基于图片识别来确认目标位置,都提供了IDE.区别在于 Airtest 的定位十分明确,面向窗口和游戏的自动化框架,支持连接手机进行APP的自动化测试脚本.而 SikuliX 只是提供了最基本的功能,无法直接连接手机,甚至如果桌面上存在多个相同的窗口时 SikuliX 无法准确获取目标窗口,另一方面 SikuliX 可以很方便的通过 Java,Python 等编程语言进行脚本编写,因此 SikuliX 可以实现和其他代码合在一起完成交互动作,对开发者很是友好.

SikuliX1 Airtest
介绍 前身为 Sikuli 的开源UI自动化框架,旨在实现在桌面上基于 由网易出品的UI自动化测试工具,支持丰富的窗口测试场景
IDE 轻量级IDE,一键打开,但界面和功能较为简单,IDE用Java实现,对 Java开发者友好,需要环境中预装JRE 多平台IDE,支持单步调试,安装包较 SikuliX1 的 IDE更大一些,但功能也更为丰富,支持通过ADB链接手机后对手机实现UI自动化
编程语言 支持使用 Java,Python 进行编程,或者直接在 IDE 中进行编程 只能够在IDE中编写脚本,无法支持其他编程语言环境
相同点 在原理上交互识别都是基于OCR图像识别技术,会在不断对桌面进行截图与预期图片进行比较

如何打开 SikuliX1 IDE

  1. 首先去下载页面下载 sikulixidewin-2.0.6-20220817.114540-15.jar

  2. 在下载的文件夹中打开终端,并输入命令:

java -jar sikulixidewin-2.0.6-20220817.114540-15.jar

然后你就得到了一个 SikuliX1 IDE 了.

通过特定编程语言(Java/Python) 进行 SikuliX1 编程是一件很费工夫的事情,因为你需要自己对每个图案进行截图并保存在当前代码所在的文件夹中,然后在代码中指定对应图案文件路径.相较于 SikuliX1 IDE 直接截图这种脚本编写方案无疑很痛苦.

详细介绍
github地址
说明文档
下载地址
Airtest文档

你可能感兴趣的:(测试工具,自动化,压力测试)