Проблема (Вопрос) заключается …
Сделал много тестов по UI, возникла проблема с временем прохождения тестов перед выпуском релиза. В целях увеличения скорости прохождения тестов попробовали гнать тесты в Headless режиме, но они валятся с ошибкой Caused by: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element:
Может я не понял чего… установил нужное разрешение, запустил в обычном режиме все работает. Поставил скрытый режим ничего не работает. Как еще проверить, что запускается с верным разрешением?
Headless работает немного по другому. Не раз замечал отличия. Основная проблема в том что нжны дополнительные вайты, хеадлесс режим быстре потому что не рендерит ничего.
Если вы хотите чтобы всё быстро пробегало, при этом был и VNC и видео-запись, то лучше использовать GGR/Selenoid, нежели чем хедлесс, с которым вечно какие-то косяки вылезают.
В общем выяснил проблему. Снял скриншот с упавшего теста, оказалось что в скрытом режиме пользователь не проходит аутенфикацию, на проекте используется Kerberos. Он не выдает session ticket.
Тему можно закрывать, дальше уже надо решать эту проблему. Писать шелл для chromedriver.
С селенидом как раз всё это не нужно. Селенид же сам ждёт всяких таких штук.
Нет, у меня все мои тесты прекрасно взлетели в хедлесс режиме без каких-либо дополнительных действий.
Может немного не в тему. Как по мне, изначальная проблема - время прохождения тестов. Решается паралелизацией тестов или разбиением на сьюиты. Идеально - паралелизация. Данное решение упрется в тужу проблему через 3 месяца, когда будет еще +50.100 тестов.
Надо подумать над этим , но проблема в то что для каждого группы тестов создаются практически одни и те же фикстуры в БД. Как бы не вышло бы накладки.
На проекте используется JUnit5, прописал файл junit-platform.properties с настройками:
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.config.strategy=dynamic
Классы с тестами запускаю через аннотацию @Execution(ExecutionMode…)