很早之前寫過一篇介紹sikuli的文章。本文簡單介紹如何在java中使用sikuli進自動化測試。
圖形腳本語言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? 請參考本文開頭的文字鏈接。
----------------------------------------------------
錯誤參考: