桌面GUI自动化测试工具---SikuliX

一、初识SikuliX

1.SikuliX

SikuliX是通过图像识别,来定位图像和键盘、鼠标来操作GUI(图形化用户界面),实现跨平台的桌面类应用自动化。

SikuliX: 基于Jython(用Java编写的高级的、面向对象的、开放源代码的编程语言)的API以及Sikuli IDE(Sikuli集成开发环境),支持Python和Ruby。

2.与其他UI自动化工具对比

与其他的UI自动化工具相比,Sikuli的优势在于,它不需要去写出一行行代码;而是用屏幕截图的方式,用截出来的图形以参数形式传入引用。它是基于像素的,所以即使页面上的元素没有像id, name这些常规属性,我们也可以通过图像识别进行UI的交互操作( 它使用OpenCV支持的图像识别 ,来识别和控制GUI组件)

二、关于SikuliX

SikuliIDE和Sikuli Script就是现在的SikuliX,最新版本是SikuliX1.1.0

1. Sikuli IDE 的 6大组成部分

SikuliX提供了一个简易的脚本开发环境Sikuli IDE,Sikuli IDE界面由菜单栏、工具栏、侧边栏、编辑区,控制台和状态栏 6部分组成。工具栏和侧边栏为主要部分。
①. 工具栏定义了自动化测试中需要用到的功能组件,如屏幕截图、插入图片、屏幕区域、运行测试的按钮、逐步测试按钮
② . 侧边栏主要定义了自动化脚本要用到的方法。
SikuliX测试界面包括了测试脚本编辑区,和测试结果显示区。

2. Sikuli脚本组成结构

编辑完的Sikuli脚本,在Windows上保存时,将保存为后缀为.sikuli的文件夹,其中该文件夹中包括脚本将使用到的所有png图片、.py的源代码文件 和一份显示源码的HTML文件

3. 生成可执行文件

编写并调试完的Sikuli脚本,通过菜单栏上file->Export executable生成以 .skl为后缀的可执行文件

4. 运行可执行文件

使用命令行工具或者直接文件即可便捷地执行该脚本

脚本执行过程中:利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标和键盘操作。这种方式使得我们在编写时,无需关系繁琐的应用程序相关API。

5. SikuliX的优点
  1. 与平台无关,跨平台测试,可以实现任意类型的GUI测试,并可以解决web测试中的浏览器兼容性测试问题。
  2. 可读性强,将GUI对象的屏幕截图作为函数的参数直接传入引用,整个代码的局域清晰明了用图形表示逻辑关系更生动、形象,容易理解,便于维护。
  3. 提供.jar包,便于构建大型的测试框架,实现各类测试工具之间的互补。
  4. 用例设计与程序实施可分离,用例设计人员可以只关注图型逻辑关系和测试检查点,不需要懂得具体开发与程序语言基础;程序实施人员可以只进行编程而不过多参与设计。
6. SikuliX的局限性
  1. 由于对于截图的检索依赖于实时的桌面显示,若出现程序逻辑之外的界面遮挡或者焦点切换(弹出窗口),对程序执行会造成影响
  2. 图像识别,过度依赖屏幕截图,使其跨平台性能大减,严重依赖于操作系统等各种环境,如果环境变化,恐怕会不停修改脚本。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值