核心实验:基于图像识别的测试工具SikuliX
作者:强哥   类别:测试开发    日期:2020-07-28 15:01:52    阅读:3040 次   消耗积分:0 分

 实 验 简 介



Sikuli是麻省理工学院开发的,它的工作模式与人眼一样,直接识别图像。在墨西哥维乔印第安人(Huichol Indians)的语言里Sikuli是上帝之眼的意思。Sikuli是基于Jython的,因此Sikuli脚本中使用的语言是Python,下面是Sikuli的技术架构图,如图所示。


20200728_145755_763.png


Sikuli IDE和Sikuli Script就是现在的SikuliX,我们将使用的版本是SikuliX1.1.1, 兼容Sikuli JAVA API,支持Python和Ruby,SikuliX通过定位图像和键盘鼠标来操作GUI(图形化用户界面),能很好的实现flash和桌面类应用的自动化,目前暂不支持移动端的使用,SikuliX官方网站:http://www.SikuliX.com/

与其他的UI自动化工具相比,Sikuli的优势在于,它是基于图片的颜色和形状来识别定位的,所以即使页面上的元素没有像id, name这些常规属性,我们也可以通过图像识别进行UI的交互操作。



 实 验 目 的 



(1)理解基于图像识别的自动化测试技术的应用。

(2)熟练使用SikuliX完成自动化测试。



 实 验 流 程 



1.SikuliX下载


下载地址:https://launchpad.net/Sikuli/SikuliX/1.1.1,找到下载文件,如图所示。


20200728_145831_191.png


2.SikuliX安装


在电脑上新建文件夹(比如D:\\SikuliX),将下载好的Sikulisetup-1.1.1.jar放到该文件夹下,双击运行该文件。如果不能运行.jar文件,可以在命令提示符里输入‘java–jar SikuliXsetup-1.1.1.jar’,运行效果如图所示。注意在安装过程中,需要用户确定安装的工具,这里请按图来勾选,如有需要可选取Tesseract。


20200728_145847_741.png

点击setup now后会弹出提示question,点击yes即可。如图所示。


20200728_145911_233.png  20200728_145920_160.png


安装完成后会在文件所在的文件夹下生成runSikuliX.cmd、SikuliX.jar、Sikuliapi.jar、SikuliX-1.1.1-SetupLog.txt、文件。


3.启动Sikuli IDE


点击runSikuliX.cmd,等待初始化后,得到Sikuli IDE的界面,如图所示。


20200728_145935_319.png


4.Sikuli IDE功能介绍


SikuliXIDE功能区域提供很多实用功能,如图所示。


20200728_145944_651.png


屏幕截图(Take screenshot):点击该按钮,进入屏幕截图状态,拖拽辅助线选取需要截取的界面元素,释放鼠标左键的同时,自动将该截图插入到编辑区中光标当前位置。使用快捷键 Ctrl+Shift+2(Command+Shift+2)也可激活截图状态,以完成对于弹出菜单、下拉框一类的控件的实时截图。该快捷键亦可通过主菜单 File->Preferences 进行自定义。 


插入图片(Insert image):除直接截图外,用户也可通过点击该按钮导入已有的 PNG 格式图片文件。 


指定查找区域(Region):给定一个查找范围。在使用的时候,Sikuli IDE会在指定区域内查找图片。


指定查找区域坐标(Location):给定一个查找的坐标偏移量,距屏幕左上角的xy方向的坐标偏移范围。


坐标限定(Offset):使用offset功能,Sikuli会调用asoffset()函数返回一个限定区域的坐标偏移量。


运行(Run):点击执行当前脚本。


慢速运行(Run in slow motion):点击后以较慢的速度执行当前脚本,以红色圆形外框显式标识每一次图像查找定位动作,便于程序调试中进行焦点追踪。

 

5.Sikuli IDE常用函数的使用


20200728_150015_703.png

6.利用Sikuli IDE脚本实现C/S架构和B/S架构的自动化(以QQ音乐的自动化播放和百度搜索自动化为例)


(1)实现QQ音乐播放器自动播放音乐(C/S架构,其特点是在用户端以安装客户端的方式实现的程序)。


通过Sikuli IDE来实现整个操作,那么首先需要编写自动化脚本,前面已经提到了很多便捷的方法在这里就可以尝试使用一下。如图所示。


20200728_150028_628.png


(2)实现百度搜索(B/S架构,也就是常用的浏览器和服务器交互的结构,在用户端是以浏览器来访问并操作的)

和打开qq音乐一样,只是这个过程变成了打开浏览器,输入的是网址,如图所示。


20200728_150040_843.png

从上面的两个例子可以看出,Sikuli IDE功能很强大!不光可以操作web页面,还可以操作系统中的应用程序(比如QQ)。大家可以尝试操作一下自己的QQ空间或是其他自己感兴趣的应用软件。


 思 考 练 习 



(1)思考基于图像识别的自动化测试工具SikuliX是如何工作的。


下周分享:核心实验:利用Python调用SikuliX接口





为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。

20190320_095757_834.jpg


   
版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/546
上一篇: 做UI设计的你 这篇文章一定要收藏!
下一篇: 工作9年后转行软件测试,他的入职月薪9K!
提示:登录后添加有效评论可享受积分哦!
最新文章
    最多阅读
      特别推荐
      回到顶部