UI 自動化測試使用 Sikuli 操作介紹 Part 1 – 入門介紹

Sikuli 是一種透過圖片的辨識來進行自動化的 UI 測試,它可以用來自動化的在圖形用戶界面(Graphical User Interface, GUI)上進行操作和測試,而 Sikuli 腳本就是實現這一過程的一種腳本語言。

一開始我們先從安裝 Sikuli 這套工具做說明,首先先至 Sikuli 官方網站 (http://www.sikuli.org/),點選「DOWNLOAD」> 「sikuli-setup.jar」,下載完成後點選 sikuli-setup.jar 進行安裝。我們以 Mac 作業系統為範例,安裝完後會產生「SikuliX-IDE」檔案,點擊它開啓應用程式,點開後應用程式界面如下圖所示:

a 2

註:如是使用 Windows 作業系統,安裝完後點擊同一目錄下所產生的「runIDE.cmd」,點擊它開啓應用程式,操作界面大致上跟 Mac 版的界面差不多。

開發界面大致上分成以下兩大區塊:

  1. 程式編輯區:讓我們輸入與編輯程式碼的區塊,也就是要執行測試的腳本。

  2. 程式執行訊息區:這裡會告訴我們程式每一步驟所執行的動作,而當程式執行錯誤時,它會在這裡輸出錯誤的原因。

如果我們要做點選一個 Test 資料夾的動作,則可以點選開發工具中左方工具界面的「滑鼠動作」,點選 click() 此時程式會要求使用者選取要截取的圖示,完成後程式編輯區會產生如以下的程式碼:

螢幕快照 2014-04-11 下午1.52.45

接著我們要執行這段程式碼則按下開發界面上方的「執行」按鈕,程式就會開始比對剛所截圖 Test 資料夾圖示,找到後則點擊 Test 資料夾一下。

以上我們已經初步的了解 Sikuli 開發環境,在操作上也非常簡單,使用者非常容易入手,接下來可以先來寫一個簡單的自動化測試。

測試內容:開啓 Safari 瀏覽器後,在網址列輸入 Google 網址,接著按下 Enter 按鍵後檢查是否有連結到 Google 網頁。

測試程式碼如下所示:

螢幕快照 2014-04-11 下午1.32.36

Step 1. 開啓 Sarfari 應用程式

透過 App.Open() 來打開特定的應用程式,參數傳入為應用程式名稱。打開某個應用程式後,就可以在這個應用程式上進行操作。在這範例裡我們要開啟 Sarfari 應用程式,所以我們要傳入 Sarfari 字串參數。

Step 2. 等待網址列出現

使用 wait() 等待某圖示出現,參數傳入為要等待的圖示。開啓應用程式需要等待它載入完成後才繼續我們的操作,我們可以用等待應用程式中某個圖示出現後,來確定應用程式是否開啟。在這範例裡我們等待網址列出現。

Step 3. 在網址列上輸入 www.google.com

使用 type() 來輸入文字,第一個參數傳入要點擊的圖示,第二個參數傳入點擊第一個參數所傳入的圖示後再輸入的文字。也就是說,點擊指定的圖形樣式取得視窗焦點後,用鍵盤輸入文字。

Step 4. 按下鍵盤 Enter 按鍵

使用 type() 按下鍵盤某個按鍵,參數傳入要點擊的按鍵。如要按下 Enter 按鍵即傳入 Key.ENTER 參數,更多按鍵名稱可參考 http://doc.sikuli.org/keys.html

Step 5. 檢查畫面中存在 Google 圖示

使用 exists() 檢查某個圖示存在,參數傳入要檢查的圖示。在這個範例中我們檢查是否存在 Google 圖示。

以上的測試步驟可以簡單的測試 Sarfari 瀏覽器應用程式,輸入指定前往的網址後,再檢驗前往的網址是否正確的測試。

對「UI 自動化測試使用 Sikuli 操作介紹 Part 1 – 入門介紹」的一則回應

  1. 按照大大的指示順利完成安裝程序,再把這檔案搬過去 “應用程式" 內,但開始時告訴我沒安裝java,但我明明有安裝的,請問接下來如何處理?

發表留言