为什么我会收到 "Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure." 错误
Why am I getting "Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure." error
使用 Selenium Grid,我有一个集线器,其中注册了一个节点。集线器和节点在不同的网络上。这些是 Hub
和 Node
的配置:
如果我错了请纠正我,但这一切对我来说都是正确的。但问题是,当我 运行 我的 Java 代码(在不同的计算机上,在与集线器和节点不同的网络中)时,我得到这个错误:
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'NROLL97', ip: '192.168.86.31', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_261'
Driver info: driver.version: RemoteWebDriver
系统信息对于我 运行 宁我的 java 项目所在的机器是正确的,但我觉得它应该显示具有远程网络的机器的系统信息驱动程序(这是一台 AWS Linux 2 机器),测试实际上是 运行。因为它显示它有一个远程网络驱动程序的版本,我想它也会告诉我带有远程网络驱动程序的机器的系统信息。
错误信息几乎没有用;这个问题的大部分答案已经在 SO 上告诉我要确保我有正确的版本。我确定这不是问题,因为当我在本地测试时,这些相同的版本可以正常工作。
这是我的 DriverInit
class:
public class DriverInit{
public WebDriver driver;
public ChromeOptions chromeOptions;
public DesiredCapabilities caps;
public static final String URL = "http://3.128.83.181/:4444/wd/hub";
DriverInit(int row) throws MalformedURLException {
// for local automated testing
// this.chromeOptions = new ChromeOptions();
// this.chromeOptions.addArguments("--headless");
// String chromeDriverPath = "resources/chromedriver.exe";
// System.setProperty("webdriver.chrome.driver", chromeDriverPath);
// this.driver = new ChromeDriver();
// this.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// FOR AWS
ChromeOptions options = new ChromeOptions();
options.setCapability(CapabilityType.BROWSER_NAME, "chrome");
options.addArguments("--headless");
options.setCapability(CapabilityType.PLATFORM_NAME, Platform.LINUX);
driver = new RemoteWebDriver(new URL(URL), options);
driver.manage().window().maximize();
}
public WebDriver getDriver() {
return this.driver;
}
}
错误在 URL。 "http://3.128.83.181/:4444/wd/hub";
需要更改为 "http://3.128.83.181:4444/wd/hub";
使用 Selenium Grid,我有一个集线器,其中注册了一个节点。集线器和节点在不同的网络上。这些是 Hub
和 Node
的配置:
如果我错了请纠正我,但这一切对我来说都是正确的。但问题是,当我 运行 我的 Java 代码(在不同的计算机上,在与集线器和节点不同的网络中)时,我得到这个错误:
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'NROLL97', ip: '192.168.86.31', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_261'
Driver info: driver.version: RemoteWebDriver
系统信息对于我 运行 宁我的 java 项目所在的机器是正确的,但我觉得它应该显示具有远程网络的机器的系统信息驱动程序(这是一台 AWS Linux 2 机器),测试实际上是 运行。因为它显示它有一个远程网络驱动程序的版本,我想它也会告诉我带有远程网络驱动程序的机器的系统信息。
错误信息几乎没有用;这个问题的大部分答案已经在 SO 上告诉我要确保我有正确的版本。我确定这不是问题,因为当我在本地测试时,这些相同的版本可以正常工作。
这是我的 DriverInit
class:
public class DriverInit{
public WebDriver driver;
public ChromeOptions chromeOptions;
public DesiredCapabilities caps;
public static final String URL = "http://3.128.83.181/:4444/wd/hub";
DriverInit(int row) throws MalformedURLException {
// for local automated testing
// this.chromeOptions = new ChromeOptions();
// this.chromeOptions.addArguments("--headless");
// String chromeDriverPath = "resources/chromedriver.exe";
// System.setProperty("webdriver.chrome.driver", chromeDriverPath);
// this.driver = new ChromeDriver();
// this.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// FOR AWS
ChromeOptions options = new ChromeOptions();
options.setCapability(CapabilityType.BROWSER_NAME, "chrome");
options.addArguments("--headless");
options.setCapability(CapabilityType.PLATFORM_NAME, Platform.LINUX);
driver = new RemoteWebDriver(new URL(URL), options);
driver.manage().window().maximize();
}
public WebDriver getDriver() {
return this.driver;
}
}
错误在 URL。 "http://3.128.83.181/:4444/wd/hub";
需要更改为 "http://3.128.83.181:4444/wd/hub";