theintern / digdug

A JavaScript library for launching WebDriver service tunnels.
https://theintern.github.io/digdug/
Other
44 stars 28 forks source link

SeleniumTunnel: Can't download GeckoDriver 0.10.0+ on Mac #34

Closed bdpartridge closed 7 years ago

bdpartridge commented 7 years ago

Description SeleniumTunnel fails to download GeckoDriver for versions 0.10.0+ on Mac OS X. The root cause seems to be that for GeckoDriver versions 0.10.0+, the downloadable is named "geckodriver-v{version}-macos.tar.gz" instead of "geckodriver-v{version}-mac.tar.gz", 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: "firefox"}], tunnel: "SeleniumTunnel", tunnelOptions: { version: "3.0.1", drivers: [ { name: "firefox", version: "0.11.1", }, ], }, ... }

Expected Result SeleniumTunnel downloads GeckoDriver executable for version 0.10.0+ 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 firefox on any platform FAILED UnknownError: [POST http://localhost:4444/wd/hub/session / {"desiredCapabilities":{"name":"test/functional/intern-config","idle-timeout":60,"browserName":"firefox","marionette":true}}] The driver executable does not exist: /Users/bpartridge/forward/fwd/web/src/main/resources/web/node_modules/intern/node_modules/digdug/selenium-standalone/geckodriver 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.

bdpartridge commented 7 years ago

Thanks for the fix.