无法使用sikuli自动化桌面应用程序

时间:2017-06-08 10:43:41

标签: java eclipse automation sikuli

我正在使用Sikuli尝试自动化桌面应用程序以进行用户身份验证。 Sikuli已经能够自动化几乎所有东西,除了弹出窗口出现的应用程序中的一部分,并禁用整个屏幕,弹出窗口本身除外。当我试图控制屏幕上的元素时,Sikuli显示错误Find failed

我尝试过以管理员的身份运行Sikuli和eclipse但是没有成功。

我正在使用的代码:

Screen screen = new Screen(); 
Pattern pattern = new Pattern("xyz.PNG"); 
screen.click(pattern);

下面是图片:enter image description here

2 个答案:

答案 0 :(得分:0)

可能有几件事:
  - 您需要为弹出窗口显示自己几秒钟,您可以使用wait()
  - 尝试使您的脚本专注于弹出屏幕本身,因为您可以使用App.focusedWindow()

例如:

popupWindow = App.focusedWindow()
if (popupWindow.exists(<fillInImageName>)):
       # Do something... 

答案 1 :(得分:0)

您的脚本出现问题的可能性很小。

  1. 你没等足够的时间让屏幕稳定下来。要测试该选项,只需明确添加一些等待时间,以确保在您尝试与其进行互动时,对话框会显示在屏幕上。
  2. 您可能错误地设置了模式。您尝试与之交互的对话框的确切元素是什么?那是密码字段吗?请注意,由于有光标(可能会闪烁)直接匹配可能会很棘手。如果是这种情况,请尝试直接输入,而不是匹配字段。再次,允许适当的等待时间。