
1、前言
在日常办公与软件测试中,重复的界面点击、表单填写、数据核对等操作往往耗费大量时间,而传统自动化工具常受限于应用程序接口(API)或源代码访问权限。
SikuliX凭借“视觉识别”核心技术,通过屏幕图像定位元素,无需依赖底层接口即可实现自动化操作,完美解决GUI(图形用户界面)自动化痛点。
2、简介
SikuliX可实现运行Windows、Mac或部分Linux/Unix系统的桌面电脑屏幕“所见内容”的自动化操作。它借助OpenCV提供技术支持的图像识别功能,来定位图形用户界面(GUI)组件。在无法便捷访问目标GUI内部结构,或难以获取待操作应用程序、网页源代码的场景下,这一特性尤为实用。
SikuliX支持的脚本语言如下:
目前,SikuliX暂不支持任何移动设备,但可通过桌面电脑上的对应模拟器,或基于虚拟网络计算(VNC)解决方案使用。而基于Android调试桥(ADB)的Android设备适配方案,目前仍处于早期实验阶段。
除了在屏幕上定位图像外,SikuliX还可模拟鼠标与键盘操作,与识别到的GUI元素进行交互。该功能支持多显示器环境,即便在远程系统中使用,也仅存在部分限制。
官网地址:
https://sikulix.github.io/
3、安装
SikuliX基于Java开发,跨平台特性需依赖Java环境支持。
SikuliX提供IDE(集成开发环境,适合新手写脚本)和API(仅类库,适合开发者集成),普通用户优先选择SikuliX IDE。
访问SikuliX官方下载页(选择指定的版本):
https://raiman.github.io/SikuliX1/downloads.html

4、快速上手
1、打开SikuliX IDE。
(1)界面分为三大核心区域,功能明确且无冗余。
(2)核心功能:截图与图像管理。
SikuliX通过捕获屏幕元素图像,脚本即可定位并执行操作,操作步骤如下:

2、基础语法。
SikuliX默认使用Python语法,可实现“定位 - 操作 - 判断”的完整自动化逻辑。

3、示例。
编辑脚本,输入用户名与密码登录操作。

执行结果(登录成功)。

脚本文件内容。

Demo.py文件内容。
# 公众号:AllTests软件测试
# 1. 点击打开浏览器
click("1757822498343.png")
# 等待浏览器启动(避免操作过快导致失败)
wait(5)
# 2. 点击地址栏,输入测试网址并回车
click("1757822562598.png")
type("https://www.saucedemo.com/" + Key.ENTER)
type(Key.ENTER)
wait(3) # 等待页面加载
# 3. 输入用户名
click("1757822926454.png")
type("standard_user")
# 4. 输入密码
click("1757822896160.png")
type("secret_sauce")
# 5. 点击登录
click("1757822969234.png")
# 6. 判断登录是否成功
if exists("1757823096123.png"):
print("登录成功!")
else:
print("登录失败!")
# 7. 关闭浏览器
click("1757823132506.png")
print("脚本执行完成!")本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!