linuxseleniumselenium-gridselenium-server

Setting up a Selenium node on Linux


I am currently trying to set up a Selenium node on a Linux VM (headless). The hub is being run from a Windows device on port 5786 (4444 was in use).

I initiate the hub using the following code:

java -jar selenium-server-standalone-
2.53.0.jar -role node –hub http://<myIP>:5786/grid/register -port 5558

When i execute this, it returns the following error messages:

13:42:12.765 INFO - Launching a Selenium Grid node
13:42:13.435 WARN - error getting the parameters from the hub. The node may 
end up with wrong timeouts.Connect to 10.146.48.80:4444 [/10.146.48.80] 
failed: Connection refused
13:42:13.445 INFO - Java: Oracle Corporation 24.60-b09
13:42:13.445 INFO - OS: Linux 3.10.0-514.21.1.el7.x86_64 amd64
13:42:13.450 INFO - v2.53.0, with Core v2.53.0. Built from revision 35ae25b
13:42:13.521 INFO - Driver provider 
org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, 
ensureCleanSession=true, browserName=internet explorer, version=}] does not 
match the current platform LINUX
13:42:13.521 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver 
registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, 
browserName=MicrosoftEdge, version=}] does not match the current platform 
LINUX
13:42:13.521 INFO - Driver class not found: 
com.opera.core.systems.OperaDriver
13:42:13.521 INFO - Driver provider com.opera.core.systems.OperaDriver is not 
registered
13:42:13.522 INFO - Driver provider org.openqa.selenium.safari.SafariDriver 
registration is skipped:
registration capabilities Capabilities [{platform=MAC, browserName=safari, 
version=}] does not match the current platform LINUX
13:42:13.523 INFO - Driver class not found: 
org.openqa.selenium.htmlunit.HtmlUnitDriver
13:42:13.523 INFO - Driver provider 
org.openqa.selenium.htmlunit.HtmlUnitDriver is not registered
13:42:13.552 INFO - Version Jetty/5.1.x
13:42:13.553 INFO - Started HttpContext[/selenium-server/driver,/selenium-
server/driver]
 13:42:13.553 INFO - Started HttpContext[/selenium-server,/selenium-server]
13:42:13.553 INFO - Started HttpContext[/,/]
13:44:03.596 INFO - Started 
org.openqa.jetty.jetty.servlet.ServletHandler@188fd321
13:44:03.596 INFO - Started HttpContext[/wd,/wd]
13:44:03.599 INFO - Started SocketListener on 0.0.0.0:5555
13:44:03.599 INFO - Started org.openqa.jetty.jetty.Server@a01330f
13:44:03.599 INFO - Selenium Grid node is up and ready to register to the hub
13:44:03.630 INFO - Starting auto registration thread. Will try to register 
every 5000 ms.
13:44:03.630 INFO - Registering the node to the hub: 
http://10.146.48.80:4444/grid/register
13:44:03.638 INFO - Couldn't register this node: Error sending the 
registration request: Connect to 10.146.48.80:4444 [/10.146.48.80] failed: 
Connection refused

Solution

  • In the command that you shared viz.,

    java -jar selenium-server-standalone-2.53.0.jar -role node –hub http://<myIP>:5786/grid/register -port 5558
    

    You have a copy paste problem. The - before the parameter hub doesn't seem to be a hyphen character.

    I was able to deduce this as a possible root cause because the value of -hub is completely being ignored and the default hub port of 4444 is being attempted to use. The stacktrace that you shared re-iterates this

    13:42:13.435 WARN - error getting the parameters from the hub. The node may end up with wrong timeouts.Connect to 10.146.48.80:4444 [/10.146.48.80] failed: Connection refused

    As you can see, even though you are providing your Hub's registration URL to include a port number of 5786, its still picking up 4444 and complaining Connection refused.

    Please try typing out the entire command for starting the hub and try again. That should work.