相見恨晚的自動化測試開發工具 Sikuli
2010年由一位在 MIT 就讀的台灣人發表的 graphic script language,
有別於一般的開發工具,利用一些截圖加上一些簡單的語法就可以操作電腦滑鼠、鍵盤。
開發這工具最難的,我覺得是圖形辨識跟操作行為的判斷。
這工具提供的語法滿完整的,不同的情境都可以簡單的使用,
搭配 Python 語法可以更靈活的操作。
我用了兩個小時的時間,就可以完成安裝並輕易完成一個自動化訂票的 script。
坦白說,效果讓我感到非常的驚豔,可能是本身是開發人員,能夠了解這軟體的困難。
只是覺得自己怎麼可以這麼 lag,六年前的玩意現在才知道。
-- 安裝步驟 --
先到 Sikuli 官網 下載 SikuliX 目前版本是1.1.0
檔案是 .jar,也就是 java 程式,所以請先安裝 jre 環境。
依教學是說只要檔案下載下來,直接點兩下執行,就會自動下載需要的檔案,
還有一個執行 Sikuli IDE 的批次檔。
安裝過程遇到 "Could not find the main class. Program will exit!"
直接在 console 下指令 " java -jar sikulixsetup-1.1.0.jar"
就會自動下載並安裝起來了。
語法的部份我是參考這個範例 Sikuli的入門使用
-- 遭遇問題 --
寫範例的過程遇到兩個問題,一個是中文的輸入問題、一個是按鍵的問題。
一、中文輸入的問題,網路上查到的解法是 type(u"中文") 或是 paste("中文"),
實際使用出現的都是亂碼。
最後解法是 paste(unicode("中文", "utf8"))
二、按鍵問題是一些特殊鍵的輸入,例如 windows 鍵 + 字母的特殊組合鍵、Enter 鍵。
這邊統一解答,windows 鍵+字母的特殊鍵組合是 type("d",KEY_META) ,
以這範例表示的是 windows 鍵 + d (一定要小寫唷!)
Enter 鍵是 type(Key.ENTER) (Key 一定要首字大寫,ENTER是全大寫)
-- 最後完成的結果 --
我最後實作的程式是露營地的訂票程式,搭配 windows 工作排程、 Sikuli、javascript,
可以定時開始作業並完成訂票及驗證的工作。
影片就不放上來了,有興趣的私下跟我要。
-- 參考 --
Sikuli 官網: http://www.sikuli.org/
Sikuli API: http://sikulix-2014.readthedocs.io/en/latest/
作者 blog 介紹: http://blog.vgod.tw/2010/01/30/sikuli/ (作者已淡出 Sikuli 開發工作)
有別於一般的開發工具,利用一些截圖加上一些簡單的語法就可以操作電腦滑鼠、鍵盤。
開發這工具最難的,我覺得是圖形辨識跟操作行為的判斷。
這工具提供的語法滿完整的,不同的情境都可以簡單的使用,
搭配 Python 語法可以更靈活的操作。
我用了兩個小時的時間,就可以完成安裝並輕易完成一個自動化訂票的 script。
坦白說,效果讓我感到非常的驚豔,可能是本身是開發人員,能夠了解這軟體的困難。
只是覺得自己怎麼可以這麼 lag,六年前的玩意現在才知道。
-- 安裝步驟 --
先到 Sikuli 官網 下載 SikuliX 目前版本是1.1.0
檔案是 .jar,也就是 java 程式,所以請先安裝 jre 環境。
依教學是說只要檔案下載下來,直接點兩下執行,就會自動下載需要的檔案,
還有一個執行 Sikuli IDE 的批次檔。
安裝過程遇到 "Could not find the main class. Program will exit!"
直接在 console 下指令 " java -jar sikulixsetup-1.1.0.jar"
就會自動下載並安裝起來了。
-- 遭遇問題 --
寫範例的過程遇到兩個問題,一個是中文的輸入問題、一個是按鍵的問題。
一、中文輸入的問題,網路上查到的解法是 type(u"中文") 或是 paste("中文"),
實際使用出現的都是亂碼。
最後解法是 paste(unicode("中文", "utf8"))
二、按鍵問題是一些特殊鍵的輸入,例如 windows 鍵 + 字母的特殊組合鍵、Enter 鍵。
這邊統一解答,windows 鍵+字母的特殊鍵組合是 type("d",KEY_META) ,
以這範例表示的是 windows 鍵 + d (一定要小寫唷!)
Enter 鍵是 type(Key.ENTER) (Key 一定要首字大寫,ENTER是全大寫)
-- 最後完成的結果 --
我最後實作的程式是露營地的訂票程式,搭配 windows 工作排程、 Sikuli、javascript,
可以定時開始作業並完成訂票及驗證的工作。
影片就不放上來了,有興趣的私下跟我要。
-- 參考 --
Sikuli 官網: http://www.sikuli.org/
Sikuli API: http://sikulix-2014.readthedocs.io/en/latest/
作者 blog 介紹: http://blog.vgod.tw/2010/01/30/sikuli/ (作者已淡出 Sikuli 開發工作)
你好,我有想找人做一個 sikuli 的程式,模擬點擊。如果你有意願接案或長期配合請 email 給我。mmmayagan@gmail.com
回覆刪除