您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 >
Sikuli:創(chuàng)新的圖形化編程技術
作者:網絡轉載 發(fā)布時間:[ 2013/9/6 13:41:16 ] 推薦標簽:

  Sikuli 腳本

  Sikuli 的腳本編寫遵循 Python 語法規(guī)范,其本身提供了多種自定義類及其自定義方法,其詳細介紹可參見其 官方網站文檔。由于 Sikuli 基于 Jython,其核心代碼由 Java 編寫,可在用戶自定義的 Java 工程中將其作為 Java 標準類庫進行引用,其官方網站亦提供了 JavaDoc供參考。

  這里先通過一個自動打開 Firefox 瀏覽器,并登錄 Gmail 的簡單實例來快速一覽 Sikuli 腳本的獨特之處。

  圖 2. 自動登錄 Gmail

  上圖所示的 Sikuli 腳本首先單擊展開開始菜單,接著單擊 Firefox 圖標啟動瀏覽器。待 Firefox 的工具欄出現后,以工具欄位置為基準,向右偏移 300 的距離以定位到地址欄并鼠標單擊將光標置入地址欄,然后在地址欄中輸入 gmail 網址。待登錄界面出現,單擊用戶名輸入框并輸入用戶名信息,然后鍵入 Tab 鍵,使密碼輸入框獲得焦點并輸入密碼信息,后單擊 Sign in 按鈕完成登錄。

  從該示例腳本中不難發(fā)現 Sikuli 顯著的特色——將 GUI 對象的屏幕截圖作為函數的參數直接引用,整個代碼的語義清晰明了,可讀性極強。腳本執(zhí)行過程中,利用圖像檢索算法分析匹配當前屏幕中對應的控件,并對其應用相應的鼠標或鍵盤操作。這種方式使得我們在腳本編寫時,既無需關心繁瑣的應用程序相關 API 亦不用獲取 Web 內容對象。

  編輯完成的 Sikuli 腳本可通過 File -> Save 進行保存。在 Windows 平臺上將保存為一個后綴為 .sikuli 的文件夾,其中包括腳本中所使用到的所有 PNG 圖片、.py 后綴的源代碼以及一份顯示源碼的 HTML 文件。

  編寫調試完成的 Sikuli 腳本終可通過菜單 File->Export executable 生成以 .skl 為后綴的可執(zhí)行文件。生成這種格式的可執(zhí)行文件后,使用命令行工具或直接雙擊該文件即可便捷地運行該腳本了。

  Sikuli 的應用實例

  Sikuli 的出現,給 GUI 自動化測試提供了新的思路。通常情況下針對 GUI 的自動化測試多通過其 API 識別并獲取 GUI 對象,進而對其進行操作;對于 GUI 顯示的校驗則通過指定其在屏幕上的位置坐標并匹配對應位置上的實際像素來完成。前者但復雜度相對較高,其局限在于需要了解 GUI 內部的代碼實現,依賴于 API 的開放性,所要驗證的對象未必能夠被成功獲取;后者則對 GUI 元素本身的位置有著嚴格的要求,缺乏靈活度和對 GUI 位移的包容能力,一個細微的對象位置變化即可能嚴重影響校驗的結果,但在實際應用場景下,GUI 對象大小、位置變化和 UI 的重排的情況較為常見,使得這種驗證方式的穩(wěn)定性和可靠性隨之降低。而 Sikuli 的工作方式完全契合了這兩類場景下的需求,可大幅地簡化操作和驗證過程。接下來通過幾個實例來展示如何在一些典型用例中使用 Sikuli 快速完成 GUI 自動化。

上一頁123456下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd