Java + ChromeDriver + Docker: Ошибка CreatePlatformSocket (): семейство адресов не поддерживается протоколом (97) - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть приложение Java, использующее selenium и ChromeDriver для тестирования некоторых приложений, например, приложений A, B и C.

Моя локальная среда работает нормально как в визуальном, так и в автономном режиме (Chrome версия 66.0.3359.139 64битов), и для тестирования каждого приложения требуется 5 секунд.

При запуске без заголовка в док-узле jenkins (версия Chrome 71) журналы приложений A и C:

Запуск ChromeDriver 2.46.628388 через порт 15981

Разрешены только локальные подключения.Защитите порты, используемые ChromeDriver и соответствующими тестовыми средами, для предотвращения доступа вредоносного кода.

[SEVERE]: сбой CreatePlatformSocket (): семейство адресов не поддерживается протоколом (97)

org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Обнаружен диалект: OSS

Но все тесты выполняются нормально.

Приложение B, с другой стороны, регистрирует:

Запуск ChromeDriver 2.46.628388 через порт 15981

Разрешены только локальные подключения.Защитите порты, используемые ChromeDriver и соответствующими тестовыми средами, для предотвращения доступа вредоносного кода.

[SEVERE]: сбой CreatePlatformSocket (): семейство адресов не поддерживается протоколом (97)

[SEVERE]: CreatePlatformSocket () не выполнен: семейство адресов не поддерживается протоколом (97)

org.openqa.selenium.remote.ProtocolHandshake createSession INFO: обнаружен диалект: OSS

и «висит»в течение 15 минут, прежде чем продолжить.

Вот как я настраиваю драйвер:

    private static WebDriver createChromeDriver() {
        System.setProperty("webdriver.chrome.driver", DRIVER_PATH);
        ChromeOptions options = new ChromeOptions();
        if (ENABLE_HEADLESS) {
            options.addArguments("--headless");
            options.addArguments("--no-sandbox");
            options.addArguments("--disable-web-security");
            options.addArguments("--no-first-run");
            options.addArguments("--no-check-default-driver");
            options.addArguments("--allow-running-insecure-content");
            options.addArguments("--disable-infobars");
            options.addArguments("--start-maximized");
            options.addArguments("--ignore-certificate-errors");
            options.addArguments("--disable-popup-blocking");
            options.addArguments("--disable-notifications");
            options.setExperimentalOption("prefs", singletonMap("profile.default_content_settings.geolocation", 2));
        }
        options.setExperimentalOption("useAutomationExtension", false);

        ChromeDriver chromeDriver = new ChromeDriver(options);
        chromeDriver.manage().window().maximize();
        return chromeDriver;
    }

Я пытался просто с "--headless", но у меня была та же проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...