Docker selenium gird не может подключить наш клиентский URL

У нас есть сценарий автоматизации, который запускается в jenkins и grid в докере. Поэтому, когда мы пытаемся запустить код селена, он подключается к узлу сетки chrome или ff, а затем выполняется на основе Java-кода селена.

Все это происходит на Linux-сервере, где установлен докер, и у нас есть четыре контейнера: Jenkins, Selenium grid, chrome node и ff node.

Но когда я пытаюсь запустить задание из jekins, оно терпит неудачу и выдает следующую ошибку:

runners.TestRunner > Scenario: Extract the Report.classMethod FAILED
org.openqa.selenium.remote.UnreachableBrowserException
Caused by: java.net.NoRouteToHostException
org.openqa.selenium.remote.UnreachableBrowserException
Caused by: java.net.NoRouteToHostException
org.openqa.selenium.remote.UnreachableBrowserException
Caused by: java.net.NoRouteToHostException

Теперь то же самое работает, когда я не запускаю это из настроенного докера и делаю это из IntelliJ.

private WebDriver createSTAGEDriver() throws MalformedURLException {
        switch (driverType) {
            case GridChrome :
                DesiredCapabilities cap = DesiredCapabilities.chrome();
                cap.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
                driver = new RemoteWebDriver(new URL("http://xx.xx.xxx.xxxx:xxxxx/wd/hub"),cap);
                break;

Не удалось разобраться в проблеме.

Любая помощь будет очень признательна.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
79
1

Ответы 1

Это исправлено,

Фактически вместо IP в функции createSTAGEDriver мне нужно указать имя ip, которое было определено в моем файле docker .yml

version: '2'
services:
 hub:
   restart: always
   image: selenium/hub:3.14
   ports:
     - "4444:4444"
   networks:
     - "selenium-grid_default"
 firefox:
   restart: always
   image: selenium/node-firefox:3.5
   environment:
    - HUB_PORT_4444_TCP_ADDR=hub
    - HUB_PORT_4444_TCP_PORT=4444
    - NODE_MAX_INSTANCES=2
    - NODE_MAX_SESSION=2
   links:
    - "hub"

поэтому в основном вместо ip мне нужно использовать этот концентратор, который определен в ссылках.

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