Firefox Selenium Grid v.3.1.0测试-无法创建新的远程会话
我正在尝试使用Selenium Grid在另一台机器(Windows 10)上启动Firefox(51.0.1版)、Chrome(56.0.2924.87版)、Edge(38.14393.0.0版)**和Opera(43.0版)**。 它在Chrome浏览器上运行良好,但在其他浏览器上总是会出现一些问题。 请查看以下错误消息: org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。所需功能=功能[{marionette=true,browserName=firefox,version=,platform=WIN10}], 所需能力=能力[{}] 构建信息:版本:“未知”,版本:“1969d75”,时间:“2016-10-18 09:43:45-0700” 系统信息:…,os.name:'Linux',os.arch:'amd64',os.version:'4.4.0-62-generic',java.version:'1.8.0_121' 驱动程序信息:Driver.version:RemoteWebDriver 启动远程浏览器的命令(例如Firefox 51.0.1): java-jar-selenium-server-standalone-3.1.0.jar-role-node-hub-browser-platform=WIN10,browserName=firefox,version=51.0.1 我在Eclipse上的测试代码(只是一个简单的示例): XML文件Firefox Selenium Grid v.3.1.0测试-无法创建新的远程会话,firefox,jenkins,selenium-grid,geckodriver,Firefox,Jenkins,Selenium Grid,Geckodriver,我正在尝试使用Selenium Grid在另一台机器(Windows 10)上启动Firefox(51.0.1版)、Chrome(56.0.2924.87版)、Edge(38.14393.0.0版)**和Opera(43.0版)**。 它在Chrome浏览器上运行良好,但在其他浏览器上总是会出现一些问题。 请查看以下错误消息: org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。所需功能=功能[{marionette=true,br
<?xml version="1.0" encoding="utf-8"?>
<!--Set thread-count = 3 to execute test parallel in 3 max browsers at at time. You can increase it-->
<suite name="Parallel Tests" verbose="1" thread-count="1" parallel="tests">
<tests>
<test name="Windows+firefox Test">
<parameters>
<parameter name="platform" value="WIN10"/>
<parameter name="browser" value="firefox"/>
<parameter name="url" value="http://www.google.de/"/>
<parameter name="version" value="51.0.1"/>
</parameters>
<classes>
<class name="testpackage.FirefoxJenkins"/>
</classes>
</test>
</tests>
</suite>
(与其他浏览器的代码相同)
我已经尝试过几种方法,但没有成功,例如:
- 命令java:-Dwebdriver.gecko.driver=“C:\DEV\geckodriver.exe”-jar selenium-server-standalone-3.1.0.jar-角色节点-hub-浏览器平台=WIN10,浏览器名=firefox,版本=51.0.1
你能帮我解决这个问题吗?我很感激。这是你能做的。出于某种奇怪的原因,我注意到SeleniumWebDriver有时会吞掉实际的异常,而给您提供我同意很难解密的一般异常 因此,您可以执行以下操作(实际行号可能因Selenium版本而异。我假设您使用的是Selenium 3.0二进制文件) 您需要在这一行的
org.openqa.selenium.remote.ProtocolHandshake#createSession(org.openqa.selenium.remote.http.HttpClient,java.lang.StringBuilder)
中设置断点
String resultString=response.getContentString()代码>
并在调试模式下运行测试。resultString
的实际响应值应该可以告诉您真正的问题。很抱歉我的回答太晚了。我已经试过了,但还是犯了同样的错误。我无法真正弄清楚resultString
的值是什么,但失败异常总是告诉我这行有问题:driver=new-RemoteWebDriver(新URL(“http://[jenkins.mydomain]:4444/wd/hub”),caps)代码>并且它仍然通过使用chrome工作。你还有别的建议吗?我感谢你的帮助。非常感谢。请使用Selenium 3.3.1再试一次好吗?在这个版本中,您不需要任何断点等,错误应该是明显的感谢您的快速响应和帮助。现在它也可以使用Chrome和Firefox,但仍然会因为尝试启动edge和opera而出现相同的错误:org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。所需功能=功能
您确定您的网格/节点也在3.3.1上运行吗?我推出了一个bug修复程序,并将其合并,修复了将错误转发回测试的问题。但是,客户端(您的测试)和服务器端(网格集线器和节点)都需要使用3.3.1。是的,这两个版本都在3.3.1(服务器和客户端)上运行,但仍然会出现相同的错误。这是否仍然是一个普遍问题?因为我在这里发现了这个bug:但是如果你已经安装了一个bug修复程序,我想这只是我的问题。
<?xml version="1.0" encoding="utf-8"?>
<!--Set thread-count = 3 to execute test parallel in 3 max browsers at at time. You can increase it-->
<suite name="Parallel Tests" verbose="1" thread-count="1" parallel="tests">
<tests>
<test name="Windows+firefox Test">
<parameters>
<parameter name="platform" value="WIN10"/>
<parameter name="browser" value="firefox"/>
<parameter name="url" value="http://www.google.de/"/>
<parameter name="version" value="51.0.1"/>
</parameters>
<classes>
<class name="testpackage.FirefoxJenkins"/>
</classes>
</test>
</tests>
</suite>