Java + ChromeDriver + Docker:CreatePlatformSocket()失败:协议不支持地址族(97)

时间:2019-09-25 18:16:56

标签: java docker selenium-chromedriver

我有一个使用硒和ChromeDriver的Java应用程序来测试某些应用程序,例如应用程序A,B和C。

我的本​​地环境在可视和无头模式(Chrome版本66.0.3359.139 64位)下都可以正常工作,并且需要5秒钟来测试每个应用程序。

在jenkins Docker节点(Chrome版本71)中无头运行时,应用程序A和C日志:

  

在端口15981上启动ChromeDriver 2.46.628388

     

仅允许本地连接。请保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问。

     

[SEVERE]:CreatePlatformSocket()失败:地址   协议不支持该系列(97)

     

org.openqa.selenium.remote.ProtocolHandshake createSession INFO:   检测到的方言:OSS

但是可以运行所有测试。

另一方面,

应用B记录:

  

在端口15981上启动ChromeDriver 2.46.628388

     

仅允许本地连接。请保护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”,但是我遇到了同样的问题。

0 个答案:

没有答案