Selenium открывает несколько хромированных драйверов и не закрывает их

Я начал использовать безголовый хром для интеграции jenkins и изменил код в своем базовом файле. но теперь, когда я запускаю тест, я вижу, что запущено несколько хромированных драйверов, и драйвер не закрывается, когда последний тест завершен.

У меня не было этой проблемы до перехода в безголовый режим.

Вот мой класс TestBase TestBase.class

И вот проблема. После всех этих новых хромированных драйверов тест проходит успешно, но в фоновом режиме накапливается много хромированных драйверов. проблема

Я пытался использовать функции driver.close и driver.quit в тестовом методе @After, но это тоже не сработало, как в старые добрые времена. После использования безголового режима я не могу их закрыть, потому что, как вы видите, в фоновом режиме есть несколько хромированных драйверов.

Сильно сомневаюсь, что это произошло после перехода на безголовый. Немного сложно сказать, что именно происходит, потому что мы не видим методов тестирования до/после. Убедитесь, что вы запускаете и закрываете браузер до/после каждого теста.

Alex Karamfilov 21.11.2022 10:36
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы хотите получить контроль над самой службой, вам нужно использовать объект DriverService. Пример:

ChromeOptions options = new ChromeOptions() // Your options here
ChromeDriverService service = ChromeDriverService
    .createServiceWithConfig(options);
service.start();

WebDriver driver = new ChromeDriver(service);

// Do your test here

driver.quit(); // close session
service.stop(); // stop service

Другие вопросы по теме