Драйвер Selenium Chrome, вызывающий исключение java.net.ConnectException при параллельном выполнении

#java #selenium #selenium-chromedriver

#java #селен #селен-хромовый преобразователь #selenium #selenium-chromedriver

Вопрос:

Я запускаю параллельный тест (по одному тесту на поток) с Selenium Chromeriver. Каждый поток создает новый экземпляр драйвера Chrome (driver = new ChromeDriver(options);) и закрывает его, когда тест заканчивается с помощью driver.quit(). Время от времени я вижу, что возникает следующее исключение. Это исключение выдается после запуска драйвера Chrome и на полпути к тестированию. Может ли один поток, вызывающий driver.quit(), закрыть экземпляр другого? Что может быть причиной этого? Кто-нибудь сталкивался с этим раньше?

Версия ChromeDriver — v85.0.4183.87.

  org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:12406nBuild info: version: 'unknown', revision: 'unknown', time: 'unknown'nSystem info: host: '6d3453df-688f-4be0-a709-7b7b08b464a0', ip: '172.17.128.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-1074-aws', java.version: '11.0.8'nDriver info: driver.version: RemoteWebDriverntat org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)
  

Комментарии:

1. можете ли вы поделиться своим XML — файлом здесь ?

2. используете ли вы parelly для тестов, классов, экземпляров?

3. @JustinLambert о каком XML вы говорите? Каждый экземпляр тестового класса запускается в своем собственном потоке, и он независимо создает экземпляр драйвера Chrome и запускает множество команд в драйвере для перехода на страницу, входа в систему и т.д.

4. Пожалуйста, проверьте приведенный ниже ответ, если вы запускаете тесты в XML, у вас не возникнет никаких проблем

5. @JustinLambert Спасибо за предложение. Мое требование другое, я не использую какую-либо работу с фреймом тестирования. Мое требование — проверять определенные потоки, захватывать сетевой трафик и т. Д

Ответ №1:

 If you create xml file in project level and run 

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests" thread-count="2">
    <test name="Test">
        <classes>
            <class name="Parallel"/>
        </classes>
    </test> <!-- Test -->
</suite>