Sikuli 可以采用Python 来做为脚本语言, 当然,你如果熟悉Python 的话,相信你对sikuli 的上手非常快。当然,你也可以使用sikuli的java API 使其在java 环境下运行。
一句话概括:会截图,就会自动化。 借助MIT的sukuli开源项目,我们能很容易的实现会截图就会自动化测试。
Sikuli是一种使用截图进行UI自动化测试的技术。Sikuli包括sikul脚本,基于Jython的API以及sikuli IDE。Sikuli可以实现任何你可以在显示器上看到ui对象的自动化,你可以通过编写一些代码来实现web 页面,window/linux/Mac OS X桌面应用、甚至是iphone和android模拟器的自动化测试。Sikuli提供非常友好Sikuli-script.jar,它可以方便地与Selenium web Driver一起使用。
当有一个GUI的内部或源代码的访问是不容易的。
1.Sikuli可以用来自动化Flash对象或Flash网站。
2.它可以运用于自动化基于窗口的应用程序。我们可以自动化我们在屏幕上所看到的。
3.它提供了简单的API,即所有的方法都可以使用屏幕类对象进行访问。
4.它可以简单地与Selenium和所有其他工具集成。
5.使用Sikuli我们可以自动化桌面应用程序。
6.大多数的自动化测试工具不支持flash对象自动化(如Selenium)。Sikuli为自动化Flash对象提供了广泛的支持。
7.它采用强大的“视觉匹配”机制来自动化桌面和Flash对象
1 编程非常简单,会截图就会编程
2 对象识别能力强,
3 开源,支持windows
1.sikuli不支持中文,因此无论在编程中或者保存路径,都不可以使用中文!否则运行报错。
2.图像因素:尽量避免比较大的目标,因为大目标必然需要比较大量像素,准确性和速度都有下降。尽量选择可以唯一确定的图像因素。
3.使用变量保存需多次使用的图像,Sikuli会将所有图像都另存为图片。
左图和右图作用一样,但右图的做法会在工作路径保存两个完全相同的图像。
命令 | 描述 |
创建Screen类对象 Screen s=new Screen(); |
Screen是由Sikuli提供一个基类。我们需要首先创建该Screen类的对象, 才可以访问所有Sikuli提供的方法。 语法: Screen s=new Screen(); |
单击一个元素 s.click(“test.png”); |
此方法用于点击屏幕上的特定图像。 |
右键单击一个元素 s.rightClick(“test.png”); |
此方法用来右键点击屏幕上的特定图像。 |
查找元素 s.find(“test.png”); |
用于查找屏幕上的特定元素存在 |
双击一个元素 s.doubleClick(“test.png”); |
用于触发屏幕上特定图像的双击事件 |
s.exists(“test.png”); | 检查元素是否在屏幕上显示 |
s.type(“test.png”,“HI!!”); | 在文本框输入一个字符串 |
s.wheel(“test.png”,25,0); | 旋转指定的图像 |
s.dragDrop(“test.png”,“test1.png”); | 图片从源位置拖放到目标位置的 |
s.hover(“test.png”); | 对特定图像进行滚动悬停事件 |
s.paste(“test.png”,“测试”); | 在指定的文本框中粘贴文本 |
例子
安装?:http://www.sikuli.org/downloadrc3.html
http://www.testwo.com/article/299
http://www.testwo.com/article/304
参考
http://djt.qq.com/article/view/124