Selenium: Set WebDriver Binary Path in NodeConfig JSON

Created on 11 Nov 2016  路  4Comments  路  Source: SeleniumHQ/selenium

Meta -

OS: Windows 7

Selenium Version:
3.0.1

Browser:
Chrome

Browser Version:
54.0.2840.71 (64-bit)

Expected Behavior -

I expect to be able to pass in a path to the webdriver in my node configuration.

Actual Behavior -

See attached logs files.
hubDebugOutput.txt
nodeDebugOutput.txt

Steps to reproduce -


node config

{
  "capabilities":
  [
    {
      "browserName": "firefox",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "chrome",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "internet explorer",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
  "maxSession": 5,
  "port": 5555,
  "register": true,
  "registerCycle": 5000,
  "hub": "http://localhost:4444/grid/register",
  "Dwebdriver.chrome.driver=drivers/chromedriver_2.25.exe" : ""
}
also tried
"Dwebdriver.chrome.driver=.\\drivers\\chromedriver_2.25.exe" : ""



md5-e8f04c5c7ec6f8dfb2abc73da9c9f439



{
  "_comment": "Configuration for Hub",
  "host": null,
  "port": 4444,
  "cleanupCycle": 5000,
  "nodePolling": 5000,
  "timeout": 300000,
  "newSessionWaitTimeout": -1,
  "servlets": [],
  "prioritizer": null,
  "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
  "throwOnCapabilityNotPresent": true,
  "platform": "WINDOWS"
}



md5-a49e6c5a75dee4b8f3e9c71d4a23bf2f



echo "Starting Selenium Hub"

java -jar .\selenium-server-standalone-3.0.1.jar -role hub -hubConfig hub_config.json -debug > .\debug\hubDebugOutput.txt 2>&1



md5-86584e1725b6983bae83a5425449581f



echo "Starting Selenium Node"

java -jar .\selenium-server-standalone-3.0.1.jar -role node -nodeConfig node_config.json -debug > .\debug\nodeDebugOutput.txt 2>&1

Most helpful comment

Dwebdriver.chrome.driver=.\\drivers\\chromedriver_2.25.exe" : "" is not a valid entry for the node config.

Set the system property on the command line when starting the node -- like this

java -Dwebdriver.chrome.driver=./drivers/chromedriver_2.25.exe \
  -jar .\selenium-server-standalone-3.0.1.jar \
  -role node \
  -nodeConfig node_config.json \
  -debug > .\debug\nodeDebugOutput.txt 2>&1

All 4 comments

Dwebdriver.chrome.driver=.\\drivers\\chromedriver_2.25.exe" : "" is not a valid entry for the node config.

Set the system property on the command line when starting the node -- like this

java -Dwebdriver.chrome.driver=./drivers/chromedriver_2.25.exe \
  -jar .\selenium-server-standalone-3.0.1.jar \
  -role node \
  -nodeConfig node_config.json \
  -debug > .\debug\nodeDebugOutput.txt 2>&1

Thank you, this was very helpful. And for anyone else with a similar issue, note, that you can include multiple -Dwebdriver..driver parameters for each browser you plan on supporting.

How can i add webdriver path to config.json? entry format changed in 3rd version of Selenium and mine are not working anymore

add path to binary files as below :+1:

{
  "capabilities":
  [
    {
      "browserName": "firefox",
      "marionette": true,
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "chrome",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "internet explorer",
      "platform": "WINDOWS",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "safari",
      "technologyPreview": false,
      "platform": "MAC",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
  "maxSession": 5,
  "port": -1,
  "register": true,
  "registerCycle": 5000,
  "hub": "http://192.168.1.2:4444",
  "nodeStatusCheckTimeout": 5000,
  "nodePolling": 5000,
  "role": "node",
  "unregisterIfStillDownAfter": 60000,
  "downPollingLimit": 2,
  "debug": false,
  "servlets" : [],
  "withoutServlets": [],
  "custom": {},
  "webdriver.gecko.driver":"c:/drivers/geckodriver.exe",
  "webdriver.chrome.driver":"c:/drivers/chromedriver.exe"
}
Was this page helpful?
0 / 5 - 0 ratings