1. 程式人生 > >IDEA+Sikuli環境搭建及Demo

IDEA+Sikuli環境搭建及Demo

簡介:Sikuli是識別和控制GUI元件進行UI自動化測試的技術,它是有MIT的研究人員開發進行設計的。Sikuli在墨西哥維喬印第安人(Huichol Indians)的語言裡是上帝之眼的意思,Sikuli的工作模式與人眼一樣,直接識別影象。這個專案的主創人員之一是來自臺灣的張琮翔

  1. 在IDEA中匯入Sikuli包

    事先下載好需要匯入的jar包,在專案視窗中使用快捷鍵Ctrl+Alt+Shift+S 或 在工程檔案上右鍵中選擇 Open Module Settings 開啟 Project Structure 視窗 這裡寫圖片描述 選擇Modules,點選選擇最右面的 + 號 , 選擇第一項或第二項(這裡以第一項為例) 這裡寫圖片描述

    找到jar包路徑,點選OK 這裡寫圖片描述 在External Libraries中檢視是否新增成功 這裡寫圖片描述

  2. 使用Sikuli實現UI自動化

    在專案中新增存放圖片的資料夾,並放入,所需圖片檔案(Sikuli根據圖片,去定位) 這裡寫圖片描述 新建Class檔案,並編寫指令碼

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;

public class
CobotSys_ZQextendsMethod_Cobot{
public static void main(String[] args) throws IOException, FindFailed { String path ="/home/wangw/IdeaProjects/CobotSys/Pictures_PNG/"; //圖片路徑 String strat = null; String end =null; Screen scr = new Screen(); //例項化 //獲取時間,列印開始日誌
Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); strat = dateFormat.format(now); System.out.println("strat"+"-------"+strat); scr.wait(path+"cion.png", 5); scr.click(path+"cion.png"); scr.wait(path+"Navigation.png", 5); //等待元素出現,超時5秒 scr.click(path+"Navigation.png"); //點選元素 Date now1 = new Date(); SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); end = dateFormat1.format(now1); System.out.println("end"+"-------"+end); if (scr.exists(path+"result.png", 5) != null){ System.out.println("測試通過"); } else{ System.out.println("測試失敗"); } } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

執行結果如下 這裡寫圖片描述

sikuli語法注:方法中引數,P代表圖片格式,T代表文字格式

方法 描述
find(P) find就是找到與指定圖片相似度最高的圖片.
findall(P) findAll就是與指定圖片相似的所有圖片
wait(P) wait就是等待指定圖片的出現
waitVanish(P) waitVanish就是等待指定圖片的消失
exists(P) exists就是判斷指定的圖片是否存在
click(P) click就是找到與指定圖片最相似的圖片, 然後單擊
doubleClick(P) doubleClick就是找到與指定圖片最相似的圖片, 然後雙擊
rightClick(P) rightClick就是找到與指定圖片最相似的圖片, 然後右擊
hover(P) hover就是找到與指定圖片最相似的圖片, 然後滑鼠指標懸浮其上
dragDrop(P,P) dragDrop就是從一個圖形的中心點拉到另一個圖形的中心點
type(T) 在焦點處, 一一輸入指定的文字
type(P,T) 單擊指定的圖片, 然後再一一輸入指定的文字
paste(T) 在焦點處, 貼上指定的文字
paste(P,T) 單擊指定的圖片, 然後再貼上指定的文字