我当前的设置是我有一个seleniumRC作为Windows计算机上的集线器运行(假设计算机名称为machine.name.com)。我已经使用以下命令启动它
java -jar selenium-server2.15.jar -role hub -port 5555
我有一个selenium节点运行在注册到上述节点的同一台计算机上。我已经使用以下命令来启动节点
java -jar selenium-server2.15.jar -role node -port 5554 -hub http://machine.name.com:5555/grid/register
该节点已成功注册,我也可以对该节点进行测试。
现在,我有另一台机器(一台LINUX机器- 假设此机器的IP地址为10.123.123.123),我希望在该机器上运行另一个在Windows(machine.name.com)计算机上通过5555端口注册到集线器的节点。我已经使用以下命令来启动节点。
java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX,maxInstances=5
问题在于该节点未由HUB注册。
我确实知道集线器和节点已经相互检测到,因为当我在浏览器中点击 http://machine.name.com:5555/console时,两个节点都会显示出来。但是Linux机器旁边有一条错误消息“ 正在监听 http://10.123.123.123:5572(目前无法访问) ”
并且无法在该节点上进行selenium测试。
我读seleniumgroups 该处远程节点必须定义-hubHost也是关键值对。所以我也尝试了以下命令,但没有成功
-hubHost
java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX, maxInstances=5 -hubHost "machine.name.com"
但这也没有注册该节点。
请注意,Linux计算机上的控制台不会引发任何错误。显示的全部是-
13:20:55.891 INFO - starting auto register thread. Will try to register every 5000ms 13:20:55.891 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register 13:23:06.860 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register 13:25:17.678 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register 13:27:28.496 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register 13:29:39.311 INFO - Registering the node to hub :http://machine.name.com:5555/grid/register
在Windows计算机上运行集线器的控制台上不会引发任何错误。
对防火墙进行适当的穿孔,并通过远程登录进行检查。
有了这些,我相信我做的根本上是错的,有人可以帮我!!!!
谢谢大家的帮助,但问题是因为节点服务器的IP地址不可路由。因此,我为节点服务器创建了一个主机条目(以及DNS条目)。并添加了另一个参数-host
-host
所以命令现在看起来像
java -jar selenium-server2.15.jar -role node -port 5572 -hub http://machine.name.com:5555/grid/register -browser browserName=chrome,platform=LINUX, maxInstances=5 -hubHost "machine.name.com" -host "nodemachine.name.com"
再次感谢大家。