該腳本以頁面中 12 個數字對象的截圖創建帶選擇對象數組,在 result_list 中列出了期望的選取結果顯示。運行時使用 openWeb() 方法自動打開瀏覽器,進入指定頁面。調用 selectObjs() 與 selectRange() 方法的實現 3 種不同的多選方式。腳本中自定義方法的實現,如圖 6 所示。
圖 6. 自定義方法的實現
selectObjs() 方法中調用 Sikuli 的 click() 方法,以傳入的對象截圖列表和 Sikuli 定義的 Key Modifier 為參數,實現了按下 Ctrl 鍵后逐個點擊對象完成多選的動作。
SelectRange() 方法則實現了區域性選取。以 obj_from 和 obj_to 參數指定選區的起始位置和結束位置;或僅使用 obj_from 指定起始位置,同時設定水平和垂直方向的偏移量 x、y 來指定選區。調用 dragDrop() 方法,傳入起始、結束位置,即可完成區域選擇。
驗證方式同實例一所述。
實例三 Web 頁面中的對象拖拽移位
本例主要應用 Sikuli 的 dragDrop() 方法,實現對象的拖拽移位操作。圖 7 中代碼所完成的任務即為通過拖拽的方式,將指定的圖片移動到 Trash 區域中。
圖 7. 拖拽圖片至 Trash 區域