Не в состоянии автоматизировать настольное приложение, используя sikuli
Я использую Sikuli, чтобы попытаться автоматизировать настольное приложение для аутентификации пользователей. Sikuli смогла автоматизировать почти все, кроме части приложения, где появляется всплывающее окно и отключается весь экран, кроме самого всплывающего окна. Sikuli показывает ошибку Find failed
когда я пытаюсь контролировать элемент на экране.
Я пытался запустить Sikuli и Eclipse в качестве администратора, но это не сработало.
Код, который я использую:
Screen screen = new Screen();
Pattern pattern = new Pattern("xyz.PNG");
screen.click(pattern);
2 ответа
Есть несколько возможностей, у вас проблемы с вашим скриптом.
- Вы не ждете достаточно времени, чтобы экран стабилизировался. Чтобы проверить эту опцию, просто добавьте некоторое время ожидания, чтобы убедиться, что ваш диалог появляется на экране, когда вы пытаетесь взаимодействовать с ним.
- Возможно, вы установили свой шаблон неправильно. Каков точный элемент диалога, с которым вы пытаетесь взаимодействовать? Это поле для пароля? Пожалуйста, обратите внимание, что может быть сложно сопоставить напрямую, поскольку есть курсор (возможно, мигает). Если это так, попробуйте ввести прямо к нему, а не сопоставлять поле. Опять же, позвольте соответствующее время ожидания.
Может быть несколько вещей:
- Вам нужно дать несколько секунд, чтобы всплывающее окно показало себя, вы можете использовать wait()
для этого.
- Постарайтесь, чтобы ваш сценарий был сосредоточен на самом всплывающем экране, для этого вы можете использовать App.focusedWindow()
,
Например:
popupWindow = App.focusedWindow()
if (popupWindow.exists(<fillInImageName>)):
# Do something...