Closed bdpartridge closed 7 years ago
Hmmm...we could have a version-to-name mapping, or possibly try different canonical names. Until we have something better, you can use the url
option to handle irregular name changes:
{
name: 'chrome',
url: 'http://chromedriver.storage.googleapis.com/2.25/chromedriver_mac64.zip'
}
You can also use the artifact
option:
{
name: 'chrome',
version: '2.25',
artifact: 'chromedriver_mac64.zip'
}
Awesome! Thanks for fixing this.
Description SeleniumTunnel fails to download ChromeDriver for versions 2.23+ on Mac OS X. The root cause seems to be that for ChromeDriver versions 2.23+, the downloadable is named "chromedriver_mac64.zip" instead of "chromedriver_mac32.zip", which was the case for all previous versions.
Steps to Reproduce digdug: 1.5.0 Node: 4.1.1 OS: Mac OS X El Capitan (10.11.6)
{ environments: [{browserName: "chrome"}], tunnel: "SeleniumTunnel", tunnelOptions: { version: "2.53.1", drivers: [ { name: "chrome", version: "2.24", }, ], }, ... }
Expected Result SeleniumTunnel downloads ChromeDriver executable for version 2.23+ and starts the tunnel as normal.
Actual Result The executable is not downloaded and the tunnel fails to start. Here's a sample stack trace:
Listening on 0.0.0.0:9000 Tunnel started Suite chrome on any platform FAILED UnknownError: [POST http://localhost:4444/wd/hub/session / {"desiredCapabilities":{"name":"test/functional/intern-config","idle-timeout":60,"browserName":"chrome"}}] The driver executable does not exist: /Users/bpartridge/forward/fwd/web/src/main/resources/web/node_modules/intern/node_modules/digdug/selenium-standalone/chromedriver at Server.createSession <node_modules/intern/node_modules/leadfoot/Server.js:330:15> at <node_modules/intern/lib/executors/Runner.js:200:23> at retry <node_modules/intern/lib/util.js:804:13> at <node_modules/intern/node_modules/dojo/Promise.ts:393:15> at runCallbacks <node_modules/intern/node_modules/dojo/Promise.ts:11:11> at <node_modules/intern/node_modules/dojo/Promise.ts:317:4> at run <node_modules/intern/node_modules/dojo/Promise.ts:237:7> at <node_modules/intern/node_modules/dojo/nextTick.ts:44:3> at doNTCallback0 <node.js:407:9> at process._tickCallback <node.js:336:13>
I'd be happy to submit a PR for this if that would help.