Не в состоянии автоматизировать настольное приложение, используя sikuli

Я использую Sikuli, чтобы попытаться автоматизировать настольное приложение для аутентификации пользователей. Sikuli смогла автоматизировать почти все, кроме части приложения, где появляется всплывающее окно и отключается весь экран, кроме самого всплывающего окна. Sikuli показывает ошибку Find failed когда я пытаюсь контролировать элемент на экране.

Я пытался запустить Sikuli и Eclipse в качестве администратора, но это не сработало.

Код, который я использую:

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

Ниже изображение:

2 ответа

Есть несколько возможностей, у вас проблемы с вашим скриптом.

  1. Вы не ждете достаточно времени, чтобы экран стабилизировался. Чтобы проверить эту опцию, просто добавьте некоторое время ожидания, чтобы убедиться, что ваш диалог появляется на экране, когда вы пытаетесь взаимодействовать с ним.
  2. Возможно, вы установили свой шаблон неправильно. Каков точный элемент диалога, с которым вы пытаетесь взаимодействовать? Это поле для пароля? Пожалуйста, обратите внимание, что может быть сложно сопоставить напрямую, поскольку есть курсор (возможно, мигает). Если это так, попробуйте ввести прямо к нему, а не сопоставлять поле. Опять же, позвольте соответствующее время ожидания.

Может быть несколько вещей:
- Вам нужно дать несколько секунд, чтобы всплывающее окно показало себя, вы можете использовать wait() для этого.
- Постарайтесь, чтобы ваш сценарий был сосредоточен на самом всплывающем экране, для этого вы можете использовать App.focusedWindow(),

Например:

popupWindow = App.focusedWindow()
if (popupWindow.exists(<fillInImageName>)):
       # Do something... 
Другие вопросы по тегам