远程机器节点无法使用Ruby连接到Selenium Webdriver上的集线器

时间:2014-10-24 16:28:28

标签: ruby selenium webdriver

我一直在尝试将节点注册到集线器,但是我得到了“无法注册此节点:集线器已关闭或没有响应"。

但我已经开始了这个中心。我可以看到集线器从

开始
<http://localhost:4444/grid/console>

C:\Ruby200>java -jar selenium-server-standalone-2.43.1.jar -role hub -port 4444
10:45:37.304 INFO - Launching a selenium grid server
2014-10-24 10:45:38.324:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT
2014-10-24 10:45:38.363:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContext
Handler{/,null}
2014-10-24 10:45:38.375:INFO:osjs.AbstractConnector:Started SocketConnector@0.0.
0.0:4444

在节点(我从远程桌面连接访问的远程计算机)上,我尝试了以下操作:

c:\Ruby201>java -jar selenium-server-standalone-2.43.1.jar -role node -hub http://<ip address ofhub>:4444/grid/register

我尝试了不同的方法(在谷歌和本网站上搜索之后)但是所有这些方法都给出了同样的错误..但是没有连接到集线器

我试过了:

java -jar selenium-server-standalone-2.43.1.jar -role node -port 5555 -hub http://<ip of hub>:4444/grid/register -browser browserName=chrome,platform=WINDOWS

java -jar selenium-server-standalone-2.43.1.jar -role node -port 5555 -hub http://<ip of hub>:4444/grid/register -browser browserName=chrome,platform=WINDOWS -hubHost "ip address of hub"

如果我的节点与集线器在同一台机器上,那么它正在运行。但是如果节点在远程机器上则不行。我应该检查节点或集线器上的防火墙还是其他任何东西吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

经过几次搜索后我才弄明白:

启动集线器(在本地计算机上): java -jar selenium-server-standalone-2.43.1.jar -role hub

启动节点(在远程计算机上): java -jar selenium-server-standalone-2.43.1.jar -role node -hub http://ipofhub:4444/grid/register -Dwebdriver.chrome.driver="C:\Ruby21\bin\chromedriver.exe"

我必须在启动服务器时指定chromedriver的路径。我在远程机器上的PATH中定义,但只有上述方法有效。

我在本地计算机上执行的测试脚本中有以下代码: caps = Selenium::WebDriver::Remote::Capabilities.chrome @driver = Selenium::WebDriver.for(:remote, :url => "<http://localhost:4444/wd/hub>",:desired_capabilities => caps)