硒Grid2 - 远程节点没有连接到集线器

问题描述:

我目前的设置是我有一个硒的RC作为一个Windows机器上的集线器运行(假设机器名称是machine.name.com)。 我已经使用下面的命令来启动它硒Grid2 - 远程节点没有连接到集线器

java -jar selenium-server2.15.jar -role hub -port 5555 

我有被登记于上述节点在同一台机器上运行的硒节点。 我用下面的命令来启动节点

java -jar selenium-server2.15.jar -role node -port 5554 -hub http://machine.name.com:5555/grid/register 

这个节点被成功注册,和我能够运行这个节点的测试以及。

现在我有另一台机器(LINUX one - 让我们假设这台机器的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注册。

我确实知道Hub和Node已经检测到对方,因为当我在浏览器上点击 http://machine.name.com:5555/console时,这两个节点都显示出来。 但Linux机器具有“监听http://10.123.123.123:5572(不能在此刻达到)”的错误消息沿着它

,无硒测试可以关闭该节点上运行。

我在seleniumgroups HERE上读取,远程节点也必须定义-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机器上运行集线器在控制台上。

防火墙被适当打孔,并通过telneting进行检查。

所有这一切,我相信我做了一些根本性的错误,有人可以帮助我!!!!!

+0

你有没有试过运行Windows中使用的相同命令?没有浏览器或平台 – 2012-01-03 03:26:10

感谢球员,但问题是,因为我的节点服务器的IP地址是不可路由的。 所以我为节点服务器创建了一个主机条目(DNS条目)。 并再次增加了一个参数-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" 

感谢大家。

+0

我正面临与Mac机器相同的问题,但-host参数解决了我的问题。谢谢你的朋友 – bugCracker 2014-12-04 05:57:47

+0

嗨Amey,我可以使用IP地址,而不是'machine.name.com'吗? 如果是,** - hubHost **和** - host **的值是多少。我不知道我的机器名称。 – Rameshwar 2015-05-27 14:47:12

+0

我猜你可以通过完全忽略这两个选项来启动节点。 – Amey 2015-05-27 17:42:59

对我来说,似乎你正在做的正确。启动节点时是否尝试过使用-debug标志?也许你会在那里找到一些东西。

而且你可能想browserName = googlechrome代替browserName =铬的帮忙

+0

谢谢我明白了,这是因为我封装的局域网。我提供了我输入的主机命令使其工作 – Amey 2012-01-04 19:19:59

+0

为什么你说关于browserName?我读过的所有内容都说它应该是'chrome' – 2015-08-07 22:40:10

当我在VPN上时,在本地计算机上托管节点和集线器时,我遇到了类似的问题。我可以通过启动两个轮毂和带参数的节点-host和-port

对于启动枢纽的命令来解决这个问题看起来是这样的

java -jar selenium-server-standalone-2.32.0.jar -role hub -host <hubipaddress> -port 4444 

用于启动节点命令看起来像这样

java -jar selenium-server-standalone-2.32.0.jar -role node -host <nodeipaddress> -port 5555 -hub http://<hubipaddress>:4444/grid/register 

在我的情况下,两个hubipaddress和nodeipaddress是一样的,他们是通过VPN分配给我的IP地址

如果你正在使用虚拟机,你需要检查你的熵。 Selenium使用了随机数,如果你没有足够的熵,它将需要1小时+(如果有的话)节点出现。

在CentOS(和其他发行版)安装:

yum install haveged 
chkconfig haveged on 
systemctl start haveged 

重新启动这两种服务和硒应该正确引导。