如何使用Sikuli(Java)从屏幕上的特定位置获取值?

时间:2012-10-20 14:10:43

标签: java testing automation automated-tests sikuli

我的情景:

尝试使用Sikuli(Java)自动化Calculator。每次操作完成时我都需要得到结果(文本中)。 示例:1 * 2 = 2.需要从结果区域/区域捕获“2”。 有人可以帮助我,我该怎么办?

结果可能是动态的,因此我必须在运行时读取它,然后将其与输入值进行比较。

谢谢你, 麦克

1 个答案:

答案 0 :(得分:4)

如果结果区域是文本字段,您可以单击它,将文本复制到剪贴板并从Env.getClipboard()中读取:

click("text_field.png")
type("a", KEY_CTRL)
type("c", KEY_CTRL)
print Env.getClipboard().strip()

另一种方法是找到结果字段的左右边框,将鼠标光标从左边框拖动到右边,通过ctrl + c复制文本并使用Env.getClipboard()来获取它。

希望有所帮助。