实例一 Excel 中验证鼠标悬停时的单元格注释显示
在通常的 GUI 自动化测试中,要完成这一验证,需要编写代码以定位控件、模拟鼠标事件、捕获对象、判断显示结果,实现起来并不轻松。而使用 Sikuli,仅使用下列的简短脚本即可完成这一任务。
图 3. 显示并验证单元格注释
图 3 中所示脚本片段中,从 15-19 行完成了打开 Excel 并创建单元格注释的过程。单元格注释的显示触发和显示验证仅占用了 22-24 三行代码。所调用的 hover() 方法从当前屏幕显示上自动匹配截图参数所示区域,获取其位置,将鼠标指针悬停于该矩形区域的中心位置,激活注释显示。而在 Sikuli“视觉”能力的支持下,验证注释是否正确显示只需用 verifyResult() 方法“一瞥”即可。该方法的实现如图 4 所示,调用 exists() 方法,即能判断当前屏幕中是否显示有相应注释。
图 4. verifyResult() 方法的实现
类似的应用还有控件注释信息的弹出及校验、Web 应用中悬停效果的校验等。
实例二 Web 页面中的多对象选择
本例中,实现了对 Web 页面中多个对象的间隔选取和批量框选。其脚本片段如图 5 所示。
图 5. Web 页面中的多对象选取