2

是否可以在一台机器上拥有一个 selenium 集线器,而在另一台计算机上以与 selenium 节点相同的方式连接到集线器的 phantomjs 实例?

如果我在同一台机器上启动一个 selenum 集线器和一个 phantomjs 实例,我可以成功运行测试。

如果我启动一个 selenium 集线器并在另一台机器上启动一个 selenium 节点并使用 firefox 运行测试,则测试成功执行。

如果我在另一台机器上启动 selenium 集线器和 phantomjs 实例,phantomjs 将成功连接到集线器,但在集线器尝试发送测试时拒绝连接。

我发现的每个连接到 selenium 集线器的 phantomjs 实例示例总是显示 phantomjs 实例与集线器在同一台机器上运行。

基本环境信息###:

  • 两台机器都在运行 debian jessie
  • selenium-server-standalone-2.39.0.jar
  • phantomjs 版本是 1.9.7
  • 使用 python 和鼻子

场景和启动命令###:

同一台机器上的 hub 和 phantomjs 成功执行测试

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

不同机器上的 hub 和 phantomjs 无法执行测试

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 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)
    
4

1 回答 1

1

为 webdriver 参数添加您的 IP 地址以及端口号。这应该有助于解决问题。前任 -

phantomjs --webdriver-selenium-grid-hub=http://<Remote_IP_Of_Grid_Hub>:4444 --webdriver=<IP_Of_The_Local_Node>:9301

基本上,如果“--webdriver”参数中没有提到 IP,节点值将作为 localhost 发送。然后集线器在 localhost 端口 9301 上查找请求。由于集线器上未打开端口 9301,连接最终断开,我们看到错误。

于 2014-04-01T02:07:19.627 回答