Специалисты по Selenide, используете ли вы в своих проектах возможность нативного headless тестирования в Chrome? Я столкнулся с проблемой, что не могу заставить maven запустить тесты в headless режиме. Пытался так:
mvn test -Dchromeoptions.args="--headless --disble-gpu"
И так:
mvn test -Dchromeoptions.args=headless
И даже вот так:
mvn test -Dselenide.headless=true
Каждый из вариантов все равно запускает браузер. Инстансы определяются вот этим классом:
К сожалению, не сработало. Правильно ли я понимаю, что эта опция доступна только начиная с Selenide 4.8? Я использую версию 4.5. Но вероятно я не правильно понял, куда нужно вставить этот код:
Configuration.headless = true;
Когда я делаю import com.codeborne.selenide.Configuration; headless мне не доступен.
При запуске maven с таким флагом - вываливается ошибка. Я полагаю, что через maven правильный запуск был бы:
И при запуске теста (не важно, через maven или напрямую через IDE) - все равно стартует браузер. Ошибок не выдает, не подскажите, в какую еще сторону можно копнуть?
Класс из моего проекта где я использую хэдлесс хром, может вам подаст идею. Правда тут используется Selenide, но он под капотом все равно Selenium использует.
Ну конкретно в этом случае это просто имплементация моего кастомного вебдрайвера, можете попробовать создать такой-же класс только подправив под джаву и запустить вместе с "-Dselenide.browser=(путь к классу).HeadlessChromeWebDriverProvider.
И кстати я тоже корячился сначала запустить хэдлесс хром через Selenide configuration и у меня ничего толкового не вышло, в итоге я решил таки сделать кастомный вебдрайвер и все работает.