Как запустить тесты безмятежности maven из командной строки для безголового тестирования браузера?

Я использую следующую команду для запуска тестов Serenity с помощью браузера Chrome, передавая учетные данные. Он работает отлично.

mvn clean verify -Dwebdriver.driver=chrome -DuserId='xxxx' -Dpasscode='xxxxxxx'

Теперь мне нужно интегрироваться с Jenkins, который работает на компьютере с Redhat Linux, у которого нет графического интерфейса. Это было только что установлено только с браузером Firefox. Я предоставил двоичный файл geckodriver в самом своем коде. Приведенная выше команда вызывает браузер, но может быть из-за ОС без графического интерфейса, она не завершает тесты и выдает в консоли следующее сообщение: "тайм-аут ожидания браузера".

Я думаю, решение состоит в том, чтобы запустить тесты браузера в режиме без головы. Как это сделать ?


person PraNuta    schedule 15.03.2019    source источник
comment
Я видел кое-что о настройке безголового тестирования с использованием Firefox в книге Johns Serenity BDD. ``` gecko.firefox.options= { args: [-headless, -profile, /path/to/my/profile], prefs: {dom.ipc.processCount: 8}, log: {level: trace} }` `` Но речь идет о параметрах конфигурации JSON в файле serenity.conf. Где я использую serenity.properties и не могу указать путь к профилю, так как он работает в Jenkins, который находится в корпоративной системе Redhat Linux.   -  person PraNuta    schedule 15.03.2019
comment
Я добавил следующее в файл serenity.properties. webdriver.driver=firefox gecko.firefox.options = {args: [-headless]} Он работал хорошо, но выдавал некоторые ошибки веб-локатора, такие как одна или две кнопки, как устаревшие или не привязанные к DOM. Без безголового варианта он работал отлично без каких-либо ошибок. Почему безголовый вызывает ошибки веб-локатора?   -  person PraNuta    schedule 15.03.2019


Ответы (1)


В файле serenity.properties просто добавьте это

chrome.switches=--headless

Или вы можете запустить это с помощью аргумента строки cmd -Dchrome.switches=--headless. Я запускаю свой из файла свойств.

Также здесь приведен список аргументов командной строки Chrome аргументы командной строки Chrome

person Jason Smith    schedule 29.04.2019