With ChromeDriver Version 2.46, the version scheme of ChromeDriver was changed to use the same versioning as the respective Chrome version. We should always use the same ChromeDriver version as the used Chrome (see http://chromedriver.chromium.org/downloads/version-selection ). For this system, the Nuget Dependency is too static and should be replaced by a more dynamic system.
We have two different instances, where the chromedriver handling should be changed:
Using a user configured chrome executable (https://www.re-motion.org/jira/browse/RM-6577)
Using the currently installed chrome version
To minimize outside dependencies, it should be mandatory that people using a chrome executable should also define the location of a respective chromedriver.
Remove the Nuget Dependency on ChromeDriver
If no user configured chrome executeable is used, download the chromedriver version for the currently installed chrome version from the google api, as defined here: http://chromedriver.chromium.org/downloads/version-selection .
The chromedriver should be downloaded to Path.GetTempPath. Consecutive runs for the same version should not trigger the download again, but use this version.
Within the same testrun, we have to be creative with caching the path to the chromedriver.exe
Additional Research: How is the WebDriver handling for Firefox?