Запустите тестирование роботов DOH в Java-программе в фоновом режиме
Я хотел бы встраивать тесты додзё / роботов в Java-приложения.
Приложение Java будет использовать java-webengine для загрузки веб-страниц и для встраивания сценария dojo в эти страницы. Java-webengine предоставляет возможность запуска Java-скрипта.
Я понимаю, что DOH использует системные события мыши и клавиатуры. Пользователь моего приложения не видит страницу веб-браузера (браузер работает в фоновом режиме с помощью webengine).
У меня есть пара вопросов:
1. Что происходит с указателем мыши во время выполнения теста DOH?
2. Можно ли выполнить тесты DOH в моем приложении внутри (в фоновом режиме)?
3. Что произойдет, если пользователь будет печатать на клавиатуре или перемещать мышь во время выполнения теста? (Например, пользователь может переключиться на другое приложение, например, Microsoft Word.)
Спасибо!
1 ответ
Несколько вещей --
Тесты Dojo можно запускать из командной строки, используя node.js или Rhino.
Я создал набор тестов DOH, который поддерживается веб-сервером Java и работает хорошо, НО...
Для пояснения, не все роботы DOH используют системные события мыши и клавиатуры, только 1 конкретный робот (robotx) имитирует фактический пользовательский ввод. При использовании robotx мышь и клавиши ведут себя в соответствии с указаниями тестов. Если вы отключите мышь от браузера, тесты будут прерваны (появится предупреждение об этом). Следовательно, robotx нельзя запускать в фоновом режиме, потому что он фактически взаимодействует с браузером.
Вам может повезти, используя других роботов в сочетании с node.js или Rhino. Ключевая концепция заключается в том, что вы должны искать какой-то "безголовый" сценарий тестирования браузера, который, как правило, и обрабатывает Rhino (я верю, что и Node может это делать), избегая при этом использования robotx.
По сути, если вы не используете robotx (тот, который фактически контролирует пользовательский интерфейс), вы сможете запускать тесты и свернуть браузер или использовать безголовый движок браузера.