我想用Java编写Selenium Grid应用程序。
在http://localhost:4444/grid/console上说节点已连接到集线器。
在客户端,我想编写以下内容:
try {
DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://IP of Hub:4444/wd/hub"), capability);
capability.setBrowserName("firefox");
driver.get("https://www.google.com");
} catch (MalformedURLException ex) {
System.err.println("URL Exception: "+ex.getMessage());
}
不幸的是,运行客户端应用程序时抛出了以下异常:
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: invalid argument: can't kill an exited process
...
Driver info: driver.version: unknown
答案 0 :(得分:0)
在初始化Webdriver实例之前提供geckodriver路径,
try {
DesiredCapabilities capability = DesiredCapabilities.firefox();
System.setProperty("webdriver.gecko.driver", "/PATH_OF_DRIVER/geckodriver.exe");
driver = new RemoteWebDriver(new URL("http://Hub_IP/wd/hub"), capability);
capability.setBrowserName("firefox");
driver.get("https://www.google.com");
} catch (MalformedURLException ex) {
System.err.println("URL Exception: "+ex.getMessage());
}
答案 1 :(得分:0)
解决方案:Linux(节点)中的geckodriver出了点问题。 我在Windows PC上添加了一个节点,它正常工作。