【问题标题】:Run multiple browsers in single selenium webdriver node在单个 selenium webdriver 节点中运行多个浏览器
【发布时间】:2014-05-14 13:57:51
【问题描述】:

如何在单个 Selenium webdriver Node 中运行多个浏览器(Firefox、IE、Chrome)。

用 2 个浏览器(Firefox、IE 或 Firefox、chrome)尝试了以下命令,并且成功了,

java -jar selenium-server-standalone-2.39.0.jar -Dwebdriver.ie.driver="C:\IEDriverServer.exe" -role node -hub http://x.x.x.x:5678/grid/register -browser "browserName=firefox,setjavascriptEnabled=true,acceptSslCerts=true,maxInstances=5,platform=WINDOWS" -browser "browserName=internet explorer,setjavascriptEnabled=true,acceptSslCerts=true,platform=WINDOWS"

但是当使用如下所示的 3 个浏览器调用时,测试失败并出现 tcl 错误

Error: org.openqa.selenium.WebDriverException: Error forwarding the new session Empty pool of VM for setup {javascriptEnabled=true, acceptSslCerts=true, browserName=internet explorer} 



java -jar selenium-server-standalone-2.39.0.jar -Dwebdriver.ie.driver="C:\IEDriverServer.exe" -Dwebdriver.chrome.driver="C:\chromedriver.exe"-role node -hub http://x.x.x.x:5678/grid/register -browser "browserName=firefox,setjavascriptEnabled=true,acceptSslCerts=true,maxInstances=5,platform=WINDOWS" -browser "browserName=internet explorer,setjavascriptEnabled=true,acceptSslCerts=true,platform=WINDOWS" -browser "browserName=chrome,setjavascriptEnabled=true,acceptSslCerts=true,platform=WINDOWS"

这个问题怎么解决,不能多次提供-Dwebdriver参数吗?

提前致谢。

【问题讨论】:

    标签: selenium webdriver


    【解决方案1】:

    使用您自己的自定义节点配置,而不是通过它:

    命令

    java -jar selenium-server-standalone-2.39.0.jar -Dwebdriver.ie.driver="C:\IEDriverServer.exe" -role node -hub http://x.x.x.x:5678/grid/register -nodeConfig config.json
    

    config.json

    {
      "capabilities":
          [
            {
              "browserName": "firefox",
              "version": "3.6",
              "platform": "WINDOWS",
              "maxInstances": 1
            },
            {
              "browserName": "internet explorer",
              "version": "8",
              "platform": "WINDOWS",
              "maxInstances": 1
            }
          ],
        "configuration":
            {
            "nodeTimeout":120,
            "port":5555,
    
            "hubPort":4444,
            "hubHost":"localhost",
    
            "nodePolling":2000,
    
            "registerCycle":10000,
            "register":true,
            "cleanUpCycle":2000,
            "timeout":30000,
            "maxSession":XXXXX,
            }
    }
    

    maxSession:XXXXX 是关键。这将告诉节点它可以同时激活多少个会话。

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 2013-04-11
      • 2014-10-27
      • 2016-08-16
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2018-08-20
      • 2012-09-23
      相关资源
      最近更新 更多