Sikuli 脚本图形编程技术

什么是Sikuli图形编程技术?

自动化脚本已经成为了IT人生活中不可或缺的一部分,脚本可以轻易的简化那些繁琐的重复性的工作,使你得到解放.小到重复按几个键,大到项目的自动化测试,都需要使用到自动化脚本技术.

今天介绍的是Sikuli图形编程软件,它使用Java编写,可运行于Windows,Mac及Linux操作系统.

Sikuli使用Python语法,并且提供Java API,这使得Java也可以调用Sikuli的功能.

Sikuli最大的特点是它集成的IDE可以直接使用图形进行编程而无需通过键盘直接编写代码的形式.

下载Sikuli

Sikuli的官网为:http://www.sikuli.org/

在首页上可以找到Sikuli的下载地址,然后选择你的操作系统下载相应的版本即可.

在我撰写这篇文章的时候,最新的版本为1.0RC3,自带中文语言.

Sikuli的图形编程

图形编程大大的降低了使用Sikuli的技术门槛,配合Python高雅的语法,它实在是太简单了.

让我们来看看下面的这段”代码”:

官方脚本

相信这段代码读者们都能看得懂,我现在用中文翻译一遍:

当谷歌的图案不存在时循环.

键盘输入三次方向键下.

如果在屏幕上找到www.itsqueeze.com的图案,就弹出窗口”耶, ITSqueeze在Google的首页前十”.

如果没有找到www.itsqueeze.com的图案,就弹出窗口”嗯,看来我应该写更多的博文”.

另一个非常简单的例子:

官方脚本操作iPhone模拟器

可能这段内容看起来有点难,但实际上它依然非常的简单易懂:

点击模拟器.

点击URL栏并激活输入框.

清除当前输入框的内容.

输入”http://google.com”并访问.

等待页面加载完毕.

点击Google的搜索框.

等待iPhone键盘弹出.

输入”sikuli”

点击搜索按钮.

等待页面加载完毕.

找到屏幕上所有的星标图案,并依次点击.

怎么样,是不是非常容易?大多数情况我们只需要截图,然后给sikuli对应的操作逻辑就可以完成一个自动化脚本.

使用Sikuli

Sikuli主界面

上图为Windows8中运行Sikuli X时的情况,实际上Sikuli对Windows8系统的支持还不好,部分功能无法正常使用,连UI上的字体显示得都不是很好.

下面我来编写一个自动访问本博客的脚本:

type('r',KeyModifier.WIN)  
wait(1)  
type('http://www.blackglory.me')  
type(Key.ENTER)  

编写简单的脚本

点击运行,会按Win+R键,打开运行对话框并输入http://www.blackglory.me,最后回车自动打开浏览器访问我的博客.

我们还可以将代码保存起来,该脚本中使用到的图片也会被一并保存,省心省力.

另外,Sikuli的脚本还可以导出为skl格式的可执行文件,方便使用和传播.