Nate
Nate

Reputation: 1750

Selenium grid not working without chromedriver local install

I ran the following commands to get my selenium grid / hub up and running:

hub: java -jar selenium-server-standalone-3.14.0.jar -role hub

node: java -jar selenium-server-standalone-3.14.0.jar -role node -hub http://localhost:4444/grid/register

when I check the hub console, I see that my webdriver is registered, and ready to use...

I connected to the hub via:

 driver = webdriver.Remote(
                command_executor='http://localhost:4444/wd/hub',
                desired_capabilities=DesiredCapabilities.CHROME)

and it connects fine...however, if i don't have chromedriver (like if I was to do it w/o grid) downloaded and installed in $PATH, the application fails.

Is this normal? I was under the impression, the whole point of selenium-grid and all this remote logic was to ensure that the individual drivers don't need to be installed on the "client" machine.

Upvotes: 0

Views: 1432

Answers (2)

irfan
irfan

Reputation: 896

yes its mandatory to install browser and its compatible driver on client machine Below image will clear how it works enter image description here

Upvotes: 1

Sers
Sers

Reputation: 12255

Selenium don't controls browser, driver do. Selenium with hub role is server and balancer to selenium with node role, and node speaks with driver. You need selenium jar and drivers on each client machine which will speaks with hub.

How it works with hub:

           ⇄ node ⇄ driver ⇄ browser (same machine)
code ⇄ hub ⇄ node ⇄ driver ⇄ browser (another machine)
           ⇄ node ⇄ driver ⇄ browser (another machine)

Upvotes: 1

Related Questions