该脚本以页面中 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 区域