很早之前写过一篇介绍sikuli的文章。本文简单介绍如何在java中使用sikuli进自动化测试。
sikuli IDE 可以完成常见的单击、右击、移动到、拖动等鼠标操作, java 引用 sikuli-script.jar 同样可以执行这些常见的鼠标操作,因此即可方便的编写 java 实现识别图片并模拟点击 / 拖动目标控件。
sikuli-script.jar : http://download.csdn.net/download/hqd1986/4557974
将sikuli-script.jar 包添加到 eclipse 中。
然后编写自动化测试脚本:
package com.mypro.sikuli; import org.sikuli.script.*; public class STest { public static void main(String[] args) throws FindFailed, InterruptedException { Screen s = new Screen(); //定义图片存放路径 String imgpath = "D:/java/sikuli/img/"; //双击桌面chrome浏览器图标 s.doubleClick(imgpath+"chrome.png"); //输入url s.type(imgpath+"url.png","www.bing.com"); s.click(imgpath+"lianxiang.png"); Thread.sleep(2000); //在bing输入框输入搜索关键字:sikuli,并点击搜索按钮 s.type(imgpath+"sreach_input.jpg","sikuli"); s.click(imgpath+"sreach_button.png"); System.out.println("end"); } }
我的图片目录:
执行日志:
[info] Windows utilities loaded. [info] Sikuli vision engine loaded. [log] DOUBLE CLICK on (185,450) [log] CLICK on (426,206) [log] TYPE "www.bing.com" [log] CLICK on (430,239) [log] CLICK on (685,370) [log] TYPE "sikuli" [log] CLICK on (938,371) end
如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries...
把Sikuli X 的 libs 目录添加到系统环境变量 path 下:
path: ;D:/Program Files (x86)/Sikuli X/libs
什么是Sikuli X? 请参考本文开头的文字链接。
----------------------------------------------------
错误参考:
http://stackoverflow.com/questions/9568612/sikuli-windows-7-64-bit-getting-the-visionproxy-dll-can-not-find-dependent-li