是否可以在一台机器上拥有一个 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)