我正在尝试在Docker容器中运行Maven集成测试(从Docker Hub在contaier Ubuntu中的平台)。这将通过Selenium HUB(在Linux平台上)传授给Windows平台上的节点,并通过Edge和IE执行自动UI测试。 HUB还将请求发送到该节点,并且请求的浏览器也启动,但是服务器对于IE和Edge不可访问。 Java代码没有例外。但是在浏览器中是“无法访问的浏览器” 使用相同的基础结构和配置,Firefox和Chrome中的UI测试可以按预期工作。我的问题是没有人知道这可能是什么吗? IE和Edge的外部Web驱动程序是否有可能阻止localhost环境之外的通信?
public WebDriver getWebDriver(final DesiredCapabilities desiredCapabilities) {
DesiredCapabilities capabilities = new DesiredCapabilities();
if(desiredCapabilities != null) {
capabilities.merge(desiredCapabilities);
}
capabilities.setPlatform(Platform.ANY);
capabilities.setBrowserName(BrowserType.EDGE);
return webDriverDecision(new EdgeOptions().merge(capabilities));
}
private WebDriver webDriverDecision(final EdgeOptions edgeOptions) {
WebDriver webDriver;
if (this.gridHubUrl == null) {
webDriver = new EdgeDriver(edgeOptions);
} else {
webDriver = new RemoteWebDriver(this.gridHubUrl, edgeOptions);
}
return webDriver;
}