【问题标题】:Unable to create new remote session - Selenium webdriver无法创建新的远程会话 - Selenium webdriver
【发布时间】:2017-06-03 19:11:20
【问题描述】:

我遇到了异常

线程“main”中的异常 org.openqa.selenium.SessionNotCreatedException:无法创建新的 远程会话。所需的能力 = 能力 [{marionette=true, browserName=firefox, version=48.0.1, platform=ANY}], 必需 尝试运行硒脚本时的功能=功能[{}]' 在远程 Web 驱动程序中。

集线器和节点配置正确,并且能够相互通信。

  • Selenium 网络驱动程序:3.0
  • 平台:Windows server 2012 R2。
  • 火狐版本:48.0.1

我的脚本中使用的代码:

       System.setProperty("webdriver.gecko.driver", "mypath/geckodriver.exe");
     DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
     capabilities.setCapability("marionette", true);
     capabilities.setBrowserName("firefox");
     capabilities.setPlatform(Platform.ANY);

     RemoteWebDriver driver =new RemoteWebDriver(new URL("http://ipofthenode:4444/wd/hub"), capabilities);

     driver.get("http://stackoverflow.com");

     System.out.println("executed");

详细的堆栈跟踪:

2017 年 1 月 19 日下午 6:07:36 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:尝试双语会话,假设 Postel 的 法律适用于远程端 2017 年 1 月 19 日下午 6:07:37 org.openqa.selenium.remote.ProtocolHandshake createSession 信息: 回退到原始的 OSS JSON Wire 协议。 2017 年 1 月 19 日 6:07:37 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: 回退到直接 W3C 远程端连接线程中的异常 “主要” org.openqa.selenium.SessionNotCreatedException:无法 创建新的远程会话。期望的能力 = 能力 [{marionette=true, browserName=firefox, version=48.0.1, platform=ANY}],所需功能 = Capabilities [{}] 构建信息: 版本:'3.0.0',修订:'350cf60',时间:'2016-10-13 10:48:16 -0700' 系统信息:主机:'主机名',ip:'IP',os.name:'Windows Server 2012 R2',os.arch:'amd64',os.version:'6.3',java.version: '1.8.0_101' 驱动程序信息:driver.version:RemoteWebDriver at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:128) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:155) 在 demo.Grid.main(Grid.java:26)

【问题讨论】:

  • 远程机器上的 geckodriver 是否位于正确的路径?还分享你用来在远程机器上启动节点的代码。
  • 感谢 mosaad。将 geckodriver 放入节点机器后开始工作。

标签: java selenium selenium-webdriver selenium-grid


【解决方案1】:

创建一个 .bat 文件添加下面的命令

C:\Selenium_Grid
start java -Dwebdriver.gecko.driver=C:\Selenium_Grid\geckodriver\geckodriver.exe -jar C:\Selenium_Grid\selenium-server-standalone-3.0.1.jar -role node -hub http://localhost:4444/grid/register -browser browserName=firefox -port 5555

(用你的替换路径)

然后在执行代码之前启动 .bat 文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2017-03-03
    • 2017-07-22
    • 2017-09-10
    • 2017-05-26
    • 2021-04-05
    相关资源
    最近更新 更多