Я начал использовать безголовый хром для интеграции jenkins и изменил код в своем базовом файле. но теперь, когда я запускаю тест, я вижу, что запущено несколько хромированных драйверов, и драйвер не закрывается, когда последний тест завершен.
У меня не было этой проблемы до перехода в безголовый режим.
Вот мой класс TestBase TestBase.class
И вот проблема. После всех этих новых хромированных драйверов тест проходит успешно, но в фоновом режиме накапливается много хромированных драйверов. проблема
Я пытался использовать функции driver.close и driver.quit в тестовом методе @After, но это тоже не сработало, как в старые добрые времена. После использования безголового режима я не могу их закрыть, потому что, как вы видите, в фоновом режиме есть несколько хромированных драйверов.
Если вы хотите получить контроль над самой службой, вам нужно использовать объект 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
Сильно сомневаюсь, что это произошло после перехода на безголовый. Немного сложно сказать, что именно происходит, потому что мы не видим методов тестирования до/после. Убедитесь, что вы запускаете и закрываете браузер до/после каждого теста.