Я пытаюсь запустить наше тестирование функций Serenity в нескольких сценариях в режиме без головы (перед запуском на нашем сервере RedHat Jenkins, поскольку на RedHat box нет графического интерфейса).Это 100% успех с 4 сценариями в обычном режиме графического интерфейса, либо с Chrome, либо с Firefox (драйвер геккона).Я запускаю тесты из CLI, как обычно.
mvn clean verify -DuserId='xxxx' -Dpasscode='xxxx'
По рекомендации автора Serenity (мистер Джон) и различной документации я сделал эти записи в файле serenity.properties для запуска в режиме без заголовка.
## Chrome Browser Headless Testing
webdriver.driver=chrome
headless.mode = true
## Firefox Browser Headless Testing
#webdriver.driver=firefox
#gecko.firefox.options = {"args": ["-headless"]}
К сожалению, один веб-локатор не найден.Предоставление этого сообщения об ошибке.
[ОШИБКА] Ошибки: [ОШИБКА] Ожидаемое условие не выполнено: ожидание наличия ExtractExecutionHistoryPage.back2SearchAnchor (попытка в течение 10 секунд с интервалом в 100 миллисекунд)
back2SearchAnchor - это ссылка html, которая находится по адресу xpath
@FindBy(xpath = "//a[contains(text(),'Back to Search')]")
private WebElementFacade back2SearchAnchor;
Автор Serenity (Mr.John) упомянул, что в некоторых случаях возможно, что безголовый режим вызывает некоторые проблемы, которые былираньше его там не было.
Эта ссылка не имеет проблем с поиском и нажатием во время обычного тестирования в графическом режиме.Ещё 10 секявный период ожидания также не работает, как вы можете видеть в сообщении об ошибке.
У обоих браузеров в безголовом режиме возникла одна и та же проблема.
Я НЕ мог понять, чтопроблема.Кто-нибудь сталкивался с такой проблемой?Любая идея, как преодолеть это?
Является ли XVFB лучшим и более чистым вариантом на данный момент?