是否可以在一台计算机上安装一个selenium hub,在另一台计算机上以与selenium节点相同的方式连接到该集线器的phantomjs实例?
如果我在同一台机器上启动了一个selenum hub和一个phantomjs实例,我可以成功运行测试。
如果我启动一个selenium hub并在另一台机器上启动一个selenium节点并使用firefox运行测试,则测试会成功执行。
如果我在另一台机器上启动selenium hub和phantomjs实例,phantomjs将成功连接到集线器,但在集线器尝试发送测试时拒绝连接。
连接到我发现的selenium hub的phantomjs实例的每个示例都会显示与集线器在同一台机器上运行的phantomjs实例。
同一台计算机上的hub和phantomj 成功执行测试
java -jar selenium-server-standalone-2.39.0.jar -role hub -timeout=50 -browserTimeout=60 -ensureCleanSession
phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://localhost:4444
不同计算机上的集线器和节点 使用firefox成功执行测试
java -jar selenium-server-standalone-2.39.0.jar -role hub -timeout=50 -browserTimeout=60 -ensureCleanSession
java -jar selenium-server-standalone-2.39.0.jar -role node -hub http://10.3.1.120:4444/grid/register -port 8080 -maxSessions=1
不同计算机上的集线器和幻像 无法执行测试
java -jar selenium-server-standalone-2.39.0.jar -role hub -timeout=50 -browserTimeout=60 -ensureCleanSession
phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://10.3.1.120:4444
服务器输出
Mar 10, 2014 12:19:57 PM org.openqa.grid.selenium.proxy.DefaultRemoteProxy isAlive
WARNING: Failed to check status of node: Connection refused
phantomjs输出
PhantomJS is launching GhostDriver...
[INFO - 2014-03-10T16:15:46.149Z] GhostDriver - Main - running on port 8080
[INFO - 2014-03-10T16:15:46.150Z] GhostDriver - Main - registering to Selenium HUB 'http://10.3.1.120:4444' using '127.0.0.1:8080'
[INFO - 2014-03-10T16:15:46.198Z] HUB Register - register - Registered with grid hub: http://10.3.1.120:4444/ (ok)
答案 0 :(得分:1)
添加webdriver参数的IP地址以及端口号。这应该有助于解决问题。前 -
phantomjs --webdriver-selenium-grid-hub=http://<Remote_IP_Of_Grid_Hub>:4444 --webdriver=<IP_Of_The_Local_Node>:9301
基本上,如果&#34; - webdriver&#34;中没有提到IP。 param,节点值作为localhost发送。然后,集线器在localhost端口9301上查找请求。由于端口9301未在集线器上打开,因此连接最终会丢失&amp;我们看到错误。