Sikuli



Sikuli是以Java實作跨平台的GUI自動測試工具,我會使用到它是由於為了讓臉書Flash遊戲某些動作可以自動化。我最熟悉的自動化測試工具是RobotFramework(簡稱Robot)。但以一個User的角度而言,Robot並沒有那麼方便去自動操作一個Flash的遊戲,因為我不曉得畫面上各個Element的ID為何。使用Sikuli去編寫Script,可以透過圖片的方式,去決定你要點選的是什麼。因此我可以不用去管要操作的東西是什麼語言寫成的。

它真的是最強的自動測試工具嗎? 我仔細想想,如果要測試的軟體是Web,現在又是一個講究UI的時代,寫Sikuli會比Robot快且好維護嗎? 就我寫Sikuli後,我認為它主要有兩個問題:

  • 解析度: Client與Testcases的圖片會因為解析度造成難以吻合。
  • 動態資料處理性: 動態產生的資料,造成Sikuli難以決定點擊與Assertion條件。

友臟內新讀白: Sikuli也有Plugin的功能。我想哪一天有善心人士把Selenium給整進去,也許就可以解決測試Web的問題了。

Q: 在Linux執行Capture時,出現link libml.so.2.1的錯誤該如何解決?
A: 參考[[https://answers.launchpad.net/sikuli/+question/142959|這篇]],apt-get install libcv2.1。
Q: 在Linux執行Capture時,出現link libcvaux.so.2.1的錯誤該如何解決?
A: apt-get install libcvaux。