Skip to content

[Selenium 4] [Grid] Node Registration Lack of Error for No Driver Path Set #9122

@dylanlive

Description

@dylanlive

🐛 Bug Report

Follow up to #8752. When launching Selenium Grid Node, and failing to include the path to a Browser Driver like Chromedriver, the registration will hang indefinitely and not present any error on INFO (or greater) level.

This sent me down a rabbit hole of debugging open ports, etc.

Tested with this version of Grid:
https://github.com/SeleniumHQ/docker-selenium/raw/beta-jars/selenium-server-4.0.0-prerelease-beta-1-02d5e641d5.jar

To Reproduce

  1. Unset any browser drivers on path, such as webdriver.chrome.driver
  2. Launch with just java -jar selenium-server-4.0.0-prerelease-beta-1-02d5e641d5.jar node --publish-events tcp://IP:4442 --subscribe-events tcp://IP:4443

Compare these two (IPs in example have been modified) Output is a powershell prompt.

Broken (which just hangs on this output):

PS C:\Windows\system32> $hubHost = "1.2.3.4"
PS C:\Windows\system32> java -jar selenium-server-4.0.0-prerelease-beta-1-02d5e641d5.jar node --publish-events tcp://$($hubHost):4442 --subscribe-events tcp://$($hubHost):4443
21:11:38.528 INFO [LogManager$RootLogger.log] - Using the system default encoding
21:11:38.531 INFO [LoggingOptions.createTracer] - Using OpenTelemetry for tracing
21:11:38.671 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://1.2.3.4:4442 and tcp://1.2.3.4:4443
21:11:38.723 INFO [UnboundZmqEventBus.<init>] - Sockets created
21:11:38.726 INFO [UnboundZmqEventBus.lambda$new$7] - Bus started
21:11:39.029 INFO [NodeServer.createHandlers] - Reporting self as: http://5.6.7.8:5555
21:11:39.110 INFO [Node.<init>] - Binding additional locator mechanisms: name, id
21:11:39.336 INFO [NodeServer$1.start] - Starting registration process for node id 924d7db1-844f-44ec-838c-e5a12592a8fb
21:11:39.337 INFO [NodeServer.execute] - Started Selenium node 4.0.0-beta-1 (revision 02d5e641d5): http://5.6.7.8:5555

Working:

PS C:\Windows\system32> $hubHost = "1.2.3.4"
PS C:\Windows\system32> java -Dwebdriver.chrome.driver=C:\ProgramData\chromedriver_win32\chromedriver.exe -jar selenium-server-4.0.0-prerelease-beta-1-02d5e641d5.jar node --publish-events tcp://$($hubHost):4442 --subscribe-events tcp://$($hubHost):4443
21:15:34.048 INFO [LogManager$RootLogger.log] - Using the system default encoding
21:15:34.050 INFO [LoggingOptions.createTracer] - Using OpenTelemetry for tracing
21:15:34.178 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://1.2.3.4:4442 and tcp://1.2.3.4:4443
21:15:34.231 INFO [UnboundZmqEventBus.<init>] - Sockets created
21:15:34.233 INFO [UnboundZmqEventBus.lambda$new$7] - Bus started
21:15:34.532 INFO [NodeServer.createHandlers] - Reporting self as: http://5.6.7.8:5555
21:15:34.617 INFO [NodeOptions.report] - Adding Chrome for {"browserName": "chrome"} 4 times
21:15:34.625 INFO [Node.<init>] - Binding additional locator mechanisms: id, name
21:15:34.842 INFO [NodeServer$1.start] - Starting registration process for node id 355ecc3e-ed7b-4f75-b9ec-c6d521ef03b4
21:15:34.843 INFO [NodeServer.execute] - Started Selenium node 4.0.0-beta-1 (revision 02d5e641d5): http://5.6.7.8:5555
21:15:35.953 INFO [NodeServer.lambda$createHandlers$1] - Node has been added

Expected behavior

An error message printed that could give a hint as to why the node never gets added. Perhaps something like:
"No browser driver on path"

Test script or set of commands reproducing this issue

See above (reproduction)

Environment

OS: Windows 10
Browser: Chrome
Browser version: 86.0.4240.75
Browser Driver version: 86.0.4240.22
Language Bindings version: n/a
Selenium Grid version (if applicable): selenium-server-4.0.0-prerelease-beta-1-02d5e641d5.jar

Metadata

Metadata

Assignees

Labels

B-gridEverything grid and server relatedC-javaJava Bindings

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions