Sikuli使用說明(包含完整安裝過程)
1 簡介
官方介紹:
Sikuli指令碼自動化,你在螢幕上看到的任何東西。它使用影象識別,識別和控制GUI元件。這是有用的,當有一個GUI的內部或原始碼的訪問是不容易的。
Sikuli(在墨西哥維喬印第安人的語言裡是”上帝之眼”的意思)是由美國麻省理工學院開發的一種最新程式設計技術,使得程式設計人員可以使用截圖替代程式碼,從而簡化程式碼的編寫流程。從它研究方向上看,是一種程式設計技術,但是該技術還可以用於進行大規模的程式測試,指令碼程式編寫使用的是python語言。
簡單的說,Sikuli就是可以直接操作截圖來進行自動化測試。
2 安裝
2.1 Sikuli安裝
1) 下載安裝包“sikulixsetup-1.1.0.jar”,網址:https://launchpad.net/sikuli/sikulix/1.1.0
2) 將安裝包拷貝到安裝目錄下,如D:\Sikuli1.1
3) 在命令列裡執行“Java –jarsikulixsetup-1.1.0.jar”,彈出安裝嚮導:
選第一個和第二個
選擇好安裝項後,單擊[Setup Now]進行安裝
4) 在彈出的question...嚮導框裡選擇[Yes]下載需要的安裝檔案
5) 檔案正在下載
6) 確認是否下載Jython,單擊[Yes]開始下載Jython
如果覺得線上下載不方便,可以在安裝前去將“sikulixlibswin.jar”,“sikulixsetupAPI-1.1.0-forsetup.jar”和sikulixsetupIDE-1.1.0-forsetup.jar下載好,並和sikulixsetup-1.1.0.jar放到同一目錄(例如:D:\Sikuli1.1)下,這樣在安裝過程中,Sikuli會自動檢測是否有下載好的jar包,如果有它會直接使用已下載好的jar包
7) 檔案下載好後,會顯示如下資訊,並開始安裝
8) 安裝完成的提示:
9) 安裝成功的提示:
此時,SikuliX安裝成功並可以使用了
10) 安裝完成後安裝目錄
runsikulix.cmd
sikulix.jar
SikuliX-1.1.0-SetupLog.txt
sikulixapi.jar
sikulixsetup-1.1.0.jar
sikulixsetup-1.1.0.jar是剛才的安裝包;runsikulix.cmd用來啟動SikuliIDE;sikulix.jar是IDE需要的jar包;SikuliX-1.1.0-SetupLog.txt是安裝日誌;sikulixapi.jar是Javaapi
2.2 jpype庫安裝
jpype的作用是在python中呼叫Sikuli的api java庫。
3 Sikuli IDE
開啟Sikuli安裝目錄中的runsikulix.cmd,直接開啟sikuli IDE:
如圖,sikuli IDE的操作非常簡單明瞭,直接按照提示進行操作就好了。
但是這跟selenium-IDE一樣,只能作為demo程式碼,所以需要把sikuli整合到我們的UI自動化框架中
4 Python Sikuli
Sikuli庫是用java編寫的,打包成Jar,要在python中使用,需要使用jpype進行轉換。
Python中呼叫sikuli的demo如下:
# coding=utf-8from jpype import *
startJVM(r'C:\ProgramFiles\Java\jre1.8.0_111\bin\server\jvm.dll', '-ea', r'-Djava.class.path=D:\sikuli\sikulixapi.jar')
# shutdownJVM()
App = JClass('org.sikuli.script.App')
Screen = JClass('org.sikuli.script.Screen')
screen = Screen()