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