Protractor is failing to set the webdriver.gecko.driver parameter when invoking selenium in standalone / local mode for use with Firefox.
6.11.3master (15776b8aef301e3c0a3b1835df1a876414b2de14)firefoxLinux, Ubuntu 16.04const config = {
framework: 'jasmine2',
useAllAngular2AppRoots: true,
specs: [ join(__dirname, '../e2e/**/*.spec.ts') ],
baseUrl: E2E_BASE_URL,
allScriptsTimeout: 120000,
getPageTimeout: 120000,
jasmineNodeOpts: {
defaultTimeoutInterval: 120000,
},
plugins: [
{
// Runs the axe-core accessibility checks each time the e2e page changes and
// Angular is ready.
path: '../tools/axe-protractor/axe-protractor.js'
}
],
capabilities: {
browserName: 'firefox'
},
directConnect: false
}
A relevant example test
N/A
Output from running the test
[10:35:08] Server started http://localhost:4200
[10:35:09] I/launcher - Running 1 instances of WebDriver
[10:35:09] I/local - Starting selenium standalone server...
[10:35:09] I/local - Selenium standalone server started at http://192.168.1.145:33133/wd/hub
[10:35:09] E/launcher - Unable to create new service: GeckoDriverService
Build info: version: '3.5.3', revision: 'a88d25fe6b', time: '2017-08-29T12:54:15.039Z'
System info: host: '<elided>', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.10.0-35-generic', java.version: '1.8.0_131'
Driver info: driver.version: unknown
[10:35:09] E/launcher - SessionNotCreatedError: Unable to create new service: GeckoDriverService
Build info: version: '3.5.3', revision: 'a88d25fe6b', time: '2017-08-29T12:54:15.039Z'
System info: host: '<elided>', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.10.0-35-generic', java.version: '1.8.0_131'
Driver info: driver.version: unknown
at WebDriverError (node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5)
at SessionNotCreatedError (node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:214:5)
at Object.checkLegacyResponse (node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:505:15)
at parseHttpResponse (node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:440:13)
at process._tickCallback (internal/process/next_tick.js:109:7)
From: Task: WebDriver.createSession()
at Function.createSession (node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:777:24)
at Function.createSession (node_modules/protractor/node_modules/selenium-webdriver/firefox/index.js:640:55)
at createDriver (node_modules/protractor/node_modules/selenium-webdriver/index.js:167:33)
at Builder.build (node_modules/protractor/node_modules/selenium-webdriver/index.js:629:16)
at Local.getNewDriver (node_modules/protractor/built/driverProviders/driverProvider.js:53:33)
at Runner.createBrowser (node_modules/protractor/built/runner.js:195:43)
at q.then.then (node_modules/protractor/built/runner.js:339:29)
at _fulfilled (node_modules/protractor/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (node_modules/protractor/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (node_modules/protractor/node_modules/q/q.js:796:13)
[10:35:09] E/launcher - Process exited with error code 199
Steps to reproduce the bug
protractor protractor.conf.js
The URL you are running your tests against (if relevant)
N/A
Hitting that problem, waiting for that fix...
BTW, we wrote a small script which copies the gecko driver from the protractor node modeules.
We run it in the "pree2e": "./update_webdriver.sh" (in the package.json)
Here is the script:
./node_modules/protractor/node_modules/webdriver-manager/bin/webdriver-manager update --versions.standalone 3.6.0
driver_directory=./node_modules/protractor/node_modules/webdriver-manager/selenium
echo Looking for Gecko driver in: $driver_directory
filename=$(ls $driver_directory | grep '.geckodriver.[0-9]$' | sort | tail -1)
echo Lastest gecko driver found: $filename
cp $driver_directory/$filename ./geckodriver
echo Driver copied.
Any idea when this will be fixed?
This worked for me:
package.json
"devDependencies": {
"webpack": "^3.10.0",
"geckodriver": "^1.10.0",
"selenium": "^2.20.0"
}
It can be fixed using directConnect option, please take a look at https://github.com/IgorSasovets/geckodriver-windows-error.
Most helpful comment
This worked for me:
package.json