Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox Selenium Grid v.3.1.0测试-无法创建新的远程会话_Firefox_Jenkins_Selenium Grid_Geckodriver - Fatal编程技术网

Firefox Selenium Grid v.3.1.0测试-无法创建新的远程会话

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

我正在尝试使用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文件

<?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
PS:我在尝试启动edge和opera时遇到了同样的问题(甚至与IEDriverServer.exe和operadriver.exe一起使用)


你能帮我解决这个问题吗?我很感激。

这是你能做的。出于某种奇怪的原因,我注意到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>