RemoteWebDriver 抛出 "org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session"
RemoteWebDriver throws "org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session"
我正在尝试运行 从集线器到节点的简单代码,集线器和节点连接成功。
在执行程序时出现异常
org.openqa.selenium.SessionNotCreatedException
Chrome我提到的驱动程序路径是可以从节点机器访问的共享路径。
- Chrome版本:58.0.3029.110
- Chrome驱动版本:2.9
Hub 和 Node 都是远程机器。
下面是使用的代码:
public static void main(String[] args) throws MalformedURLException {
WebDriver driver;
System.setProperty("webdriver.chrome.driver", "Q:\xxxxx\chromedriver.exe");
DesiredCapabilities dc = new DesiredCapabilities();
dc.setBrowserName("chrome");
dc.setPlatform(Platform.VISTA);
driver = new RemoteWebDriver(new URL("http://10.xx.xxx.xx:5566/wd/hub"), dc); //node url
driver.get("https://www.google.com");
}
控制台消息如下:
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{browserName=chrome, platform=VISTA}], required capabilities = Capabilities [{}]
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
System info: host: 'A5DAFC-W7A-0012', ip: '10.xx.xxx.xx', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_131'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155)
at testcases.Grid.main(Grid.java:23)
这是您问题的答案:
因为您使用以下命令启动了 Selenium Grid Hub:
java -jar selenium-server-standalone-3.4.0.jar -role hub -port 4123
要通过 chromedriver.exe
和 Google Chrome
浏览器执行您的代码块,您可以考虑在端口 5566 上启动 Selenium Grid Node 通过这个命令:
java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.4.0.jar -role node -hub http://localhost:4123/grid/register -port 5566
通过 <IP_of_GridHub>:4123/grid/console
访问 Selenium Grid Hub 控制台以查看正在注册的节点。
如果这回答了您的问题,请告诉我。
转到环境变量,将系统变量设置为"JAVA_HOME" C:\Program Files\Java\jdk1.8.0_301
,这将解决此问题。
我正在尝试运行 从集线器到节点的简单代码,集线器和节点连接成功。
在执行程序时出现异常
org.openqa.selenium.SessionNotCreatedException
Chrome我提到的驱动程序路径是可以从节点机器访问的共享路径。
- Chrome版本:58.0.3029.110
- Chrome驱动版本:2.9
Hub 和 Node 都是远程机器。
下面是使用的代码:
public static void main(String[] args) throws MalformedURLException {
WebDriver driver;
System.setProperty("webdriver.chrome.driver", "Q:\xxxxx\chromedriver.exe");
DesiredCapabilities dc = new DesiredCapabilities();
dc.setBrowserName("chrome");
dc.setPlatform(Platform.VISTA);
driver = new RemoteWebDriver(new URL("http://10.xx.xxx.xx:5566/wd/hub"), dc); //node url
driver.get("https://www.google.com");
}
控制台消息如下:
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{browserName=chrome, platform=VISTA}], required capabilities = Capabilities [{}]
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
System info: host: 'A5DAFC-W7A-0012', ip: '10.xx.xxx.xx', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_131'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155)
at testcases.Grid.main(Grid.java:23)
这是您问题的答案:
因为您使用以下命令启动了 Selenium Grid Hub:
java -jar selenium-server-standalone-3.4.0.jar -role hub -port 4123
要通过 chromedriver.exe
和 Google Chrome
浏览器执行您的代码块,您可以考虑在端口 5566 上启动 Selenium Grid Node 通过这个命令:
java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.4.0.jar -role node -hub http://localhost:4123/grid/register -port 5566
通过 <IP_of_GridHub>:4123/grid/console
访问 Selenium Grid Hub 控制台以查看正在注册的节点。
如果这回答了您的问题,请告诉我。
转到环境变量,将系统变量设置为"JAVA_HOME" C:\Program Files\Java\jdk1.8.0_301
,这将解决此问题。