使用RemoteWebDriver引发虚假异常的Selenium Grid 2

使用RemoteWebDriver引发虚假异常的Selenium Grid 2,selenium,playframework,webdriver,selenium-webdriver,selenium-grid,Selenium,Playframework,Webdriver,Selenium Webdriver,Selenium Grid,我有一个剧本!框架应用程序(基于v1.2.3)使用WebDrive模块(基于v0.2)通过WebDriver在浏览器中运行Selenium测试。我已经定制了这个模块,允许我启动RemoteWebDriver在另一台机器上运行测试 如果我将这个RemoteWebDriver直接连接到一个独立的Selenium服务器(使用v2.14),那么一切都可以正常工作 如果我使用集线器服务器和向集线器注册的节点服务器设置网格配置,然后将RemoteWebDriver指向集线器,则会出现以下异常: Except

我有一个剧本!框架应用程序(基于v1.2.3)使用WebDrive模块(基于v0.2)通过WebDriver在浏览器中运行Selenium测试。我已经定制了这个模块,允许我启动RemoteWebDriver在另一台机器上运行测试

如果我将这个RemoteWebDriver直接连接到一个独立的Selenium服务器(使用v2.14),那么一切都可以正常工作

如果我使用集线器服务器和向集线器注册的节点服务器设置网格配置,然后将RemoteWebDriver指向集线器,则会出现以下异常:

Exception in thread "main" org.openqa.selenium.WebDriverException: Could not start Selenium session: org%2Eopenqa%2Egrid%2Ecommon%2Eexception%2EGridException%3A+Error+forwarding+the+new+session+cannot+find+%3A+%7BbrowserName%3D%2Achrome%7D; duration or timeout: 59 milliseconds
Build info: version: '2.14.0', revision: 'unknown', time: '2011-11-29 13:13:16'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-34-generic', java.version: '1.6.0_26'
Driver info: driver.version: RemoteWebDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:147)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:113)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:400)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:115)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:76)
at play.modules.webdrive.WebDriverRunner.runRemote(WebDriverRunner.java:204)
at play.modules.webdrive.WebDriverRunner.runDecider(WebDriverRunner.java:64)
at play.modules.webdrive.WebDriverRunner.main(WebDriverRunner.java:56)
Caused by: java.lang.RuntimeException: Could not start Selenium session: org%2Eopenqa%2Egrid%2Ecommon%2Eexception%2EGridException%3A+Error+forwarding+the+new+session+cannot+find+%3A+%7BbrowserName%3D%2Achrome%7D
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:123)
at org.openqa.selenium.internal.selenesedriver.NewSession.apply(NewSession.java:34)
at org.openqa.selenium.internal.selenesedriver.NewSession.apply(NewSession.java:30)
at org.openqa.selenium.SeleneseCommandExecutor.execute(SeleneseCommandExecutor.java:132)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:382)
... 5 more
线程“main”中的异常org.openqa.selenium.WebDriverException:无法启动selenium会话:org%2Eopenqa%2Egrid%2eComon%2Eexception%2EGridException%3A+错误+转发+新+会话+找不到+%3A+%7BbrowserName%3D%2acrome%7D;持续时间或超时:59毫秒
构建信息:版本:“2.14.0”,版本:“未知”,时间:“2011-11-29 13:13:16”
系统信息:os.name:'Linux',os.arch:'amd64',os.version:'2.6.32-34-generic',java.version:'1.6.0_26'
驱动程序信息:Driver.version:RemoteWebDriver
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于org.openqa.selenium.remote.ErrorHandler.CreateTrowable(ErrorHandler.java:147)
位于org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:113)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:400)
位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:115)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:76)
播放时.modules.webdrive.WebDriverRunner.runRemote(WebDriverRunner.java:204)
播放时.modules.webdrive.WebDriverRunner.runDecider(WebDriverRunner.java:64)
play.modules.webdrive.WebDriverRunner.main(WebDriverRunner.java:56)
原因:java.lang.RuntimeException:无法启动Selenium会话:org%2Eopenqa%2Egrid%2Ecommon%2Eexception%2EGridException%3A+错误+转发+新+会话+找不到+%3A+%7BbrowserName%3D%2acrome%7D
位于com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:123)
位于org.openqa.selenium.internal.seleniesedriver.NewSession.apply(NewSession.java:34)
位于org.openqa.selenium.internal.seleniesedriver.NewSession.apply(NewSession.java:30)
位于org.openqa.selenium.selenceCommandExecutor.execute(selenceCommandExecutor.java:132)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:382)
... 还有5个
我在我的功能中指定我想要一个“firefox”驱动程序,而不是“*chrome”驱动程序。我已经看到,“*browser name”是旧样式的Selenium RC定义,但我没有在任何地方使用它,只使用RemoteWebDriver样式的定义

以下是代码的相关部分:

DesiredCapabilities capabilities = new DesiredCapabilities();
//      capabilities.setBrowserName("firefox");
        capabilities = DesiredCapabilities.firefox();

        System.out.println("<><><><><><><><><><><><><><><><><><><><><><><><>" + capabilities.getBrowserName());
        CommandExecutor executor = new SeleneseCommandExecutor(new URL(System.getProperty("webdrive.remoteUrl")), new URL(appUrlBase + "/@tests/init"), capabilities);
        WebDriver webDriver = new RemoteWebDriver(executor, capabilities);

        System.out.println("~ Starting tests remotely with " + capabilities.getBrowserName());   

        runTests(seleniumTests, webDriver);
DesiredCapabilities=新的DesiredCapabilities();
//setBrowserName(“firefox”);
capabilities=DesiredCapabilities.firefox();
System.out.println(“+capabilities.getBrowserName());
CommandExecutor executor=新的SeleneseCommandExecutor(新的URL(System.getProperty(“webdrive.remoteUrl”)),新的URL(appUrlBase+“/@tests/init”),功能;
WebDriver WebDriver=新的RemoteWebDriver(执行器、功能);
System.out.println(“~使用“+capabilities.getBrowserName()”远程启动测试);
运行测试(seleniumTests、webDriver);
它落在我创建新RemoteWebDriver的那一行上。我已经尝试了两种设置浏览器的方法,并且sysout确认它在那里是正确的。我再也见不到第二个人了


我做错了什么?:)

客户端节点上是否安装了firefox?请尝试删除setBrowserName。