Как запустить Java-код Sikuli в фоновом режиме / без головы - PullRequest
1 голос
/ 14 мая 2019

Мы автоматизируем флеш-веб-приложение.Мы используем sikuli с селеном для автоматизации, так как приложение использует flash только для одной функции, а другая функция имеет элементы, обнаруживаемые через xpath.Теперь проблема заключается в том, что когда мы запускаем наш код в RDP, или код селена jenkins будет работать без проблем, когда появится код sikuli, элементы изображения не извлекаются, а код завершается с ошибкой findFailed.Пожалуйста, помогите нам запустить код sikuli в rdp и jenkins.

1 Ответ

1 голос
/ 14 мая 2019

Помогите нам запустить код sikuli как в rdp, так и в jenkins.

Команды Sikuli работают только в пользовательском режиме и на разблокированном рабочем столе. Например, принимаяснимки экрана и перемещение команд мыши требуют разблокированного рабочего стола, в противном случае нет курсора мыши или клавиатуры, которыми Sikuli может управлять.Настоящий пользователь также не может работать с заблокированным рабочим столом.Это относится к Windows, macOS и Linux.

Решения:

1.Отключение от удаленного рабочего стола во время выполнения тестов Sikuli

При использовании удаленного рабочего стола для подключения к удаленному компьютеру закрытие удаленного рабочего стола блокирует компьютер, отображая экран входа в систему.В заблокированном режиме на компьютере нет графического интерфейса пользователя (активного окна), поэтому любые запущенные или запланированные команды sikuli не будут работать.

Чтобы избежать проблем с командами RealUser, используйте утилиту tscon для отключения от удаленного рабочего стола.tscon возвращает управление исходному локальному сеансу на удаленном компьютере, минуя экран входа в систему.Все программы на удаленном компьютере продолжают работать в обычном режиме, включая тесты графического интерфейса.

Чтобы отключиться от удаленного рабочего стола, выполните следующую команду на удаленном компьютере (в окне удаленного рабочего стола) от имени администратора:

%windir%\System32\tscon.exe RDP-Tcp#NNN /dest:console

где RDP-Tcp # NNN - это идентификатор текущего сеанса удаленного рабочего стола, например, RDP-Tcp # 0.Это можно увидеть в диспетчере задач Windows на вкладке «Пользователи» в столбце «Сеанс».

Появится сообщение «Сеанс удаленного рабочего стола завершен», и клиент удаленного рабочего стола закроется.Но все программы и тесты на удаленном компьютере продолжат нормально работать.

2.Другой вариант - использовать Auto-Login и убедиться, что ваша автоматика запускается после перезагрузки машины.Автоматический запуск макроса можно выполнить, например, с помощью Task Scheduler , как описано ранее на этой странице.В этом случае вы можете перезагрузить компьютер непосредственно перед отключением сеанса RDP, и макросы Kantu возобновят свою работу после перезагрузки.Это то, что мы используем на наших собственных тестовых машинах.

Текст выше скопирован из UI.Vision Тестирование пользовательского интерфейса и Тестирование Flash Web-приложения руководство пользователя.Этот инструмент очень похож на Sikuli , поэтому вы можете применить предложенные решения непосредственно к Sikuli.

3.Виртуальная машина

Запустите все внутри виртуальной машины (например, VBox) и оставьте эту виртуальную машину разблокированной.

...