I am trying to run my Selenium tests against Chrome. When I initialize driver locally:
@driver = Selenium::WebDriver.for( :chrome )
Everything
Actually the error message is slightly wrong. You don't have to set the system property, but the chromedriver executable needs to be available in the PATH on the remote machine (where the server is running).
If you want to specify the path as a property, you can do that when you launch the server, e.g.:
java -Dwebdriver.chrome.driver=/path/to/driver -jar selenium-server-standalone.jar
I found the selected answer to be very misleading. It took me about an hour to release the mistake in it. The node is the one that should have the webdriver.chrome.driver
property set, not the hub.
Therefore the selected answer's command should instead be:
java -Dwebdriver.chrome.driver=/path/to/driver -jar selenium-server-standalone.jar -role node
You have to set path to your cromedriver.exe inside the code of the test. Its something like
System.setproperty();
in Java
I am also using Java based tests, so I cannot give you exact example for Ruby. But basically you have to tell your Ruby program where is the path to chromedriver.exe
Okay, guys. With the help I could find the answer. Check it out.
That is how you set up the driver on your local machine:
@driver = Selenium::WebDriver.for(:remote, :chrome :url => 'http://' + SELENIUM_HOST + port + webdriver_hub, :desired_capabilities => browser)
where
browser = ':chrome'
port = ':4444'
webdriver_hub = '/wd/hub'
On the remote machine running the server would be something like this
java -jar selenium-server-standalone-2.2.0.jar -Dwebdriver.chrome.driver="path/to/where/you/put/chromedriver.exe"
After run your tests from the local machine.
Best of luck!