Sai*_*ita 6 java selenium-chromedriver docker
我有一个使用 selenium 和 ChromeDriver 的 Java 应用程序来测试一些应用程序,例如应用程序 A、B 和 C。
我的本地环境在视觉和无头模式(Chrome 版本 66.0.3359.139 64 位)下都运行良好,测试每个应用程序需要 5 秒。
在 jenkins docker 节点(Chrome 版本 71)中无头运行时,应用程序 A 和 C 记录:
在端口 15981 上启动 ChromeDriver 2.46.628388
仅允许本地连接。请保护ChromeDriver及相关测试框架使用的端口,防止恶意代码访问。
[严重]:CreatePlatformSocket() 失败:协议不支持地址族 (97)
org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到的方言:OSS
但所有测试都运行良好。
另一方面,应用程序 B 记录:
在端口 15981 上启动 ChromeDriver 2.46.628388
仅允许本地连接。请保护ChromeDriver及相关测试框架使用的端口,防止恶意代码访问。
[严重]:CreatePlatformSocket() 失败:协议不支持地址族 (97)
[严重]: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;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用“--headless”,但我遇到了同样的问题。
| 归档时间: |
|
| 查看次数: |
2250 次 |
| 最近记录: |