Currently I have Protractor v.5.1.1, Node.js v.6.10.0
All protractor tests work in window console but when I try to run them from STS IDE I get below error. Of course i did 'webdriver-manager update' but it doesn't help at all. Does anyone has an idea how to resolve this problem?
Below the error respectively when I use or do not 'directConnect'
[22:21:48] I/launcher - Running 1 instances of WebDriver [22:21:48] I/direct - Using ChromeDriver directly... [22:21:48] E/direct - Error code: 135 [22:21:48] E/direct - Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries. [22:21:48] E/direct - Error: Could not find update-config.json. Run 'webdriver-manager update' to download binaries. at IError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:5:1) at ProtractorError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:10:9) at BrowserError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:51:9) at Direct.getNewDriver (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\direct.js:62:31) at Runner.createBrowser (D:\STS_workspace\jgh\node_modules\protractor\built\runner.js:194:43) at q.then.then (D:\STS_workspace\jgh\node_modules\protractor\built\runner.js:338:29) at _fulfilled (D:\STS_workspace\jgh\node_modules\q\q.js:834:54) at self.promiseDispatch.done (D:\STS_workspace\jgh\node_modules\q\q.js:863:30) at Promise.promise.promiseDispatch (D:\STS_workspace\jgh\node_modules\q\q.js:796:13) at D:\STS_workspace\jgh\node_modules\q\q.js:556:49 [22:21:48] E/launcher - Process exited with error code 135
or
[21:19:23] I/launcher - Running 1 instances of WebDriver [21:19:23] E/local - Error code: 135 [21:19:23] E/local - Error message: No update-config.json found. Run 'webdriver-manager update' to download binaries. [21:19:23] E/local - Error: No update-config.json found. Run 'webdriver- manager update' to download binaries. at IError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:5:1) at ProtractorError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:10:9) at BrowserError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:51:9) at Local.addDefaultBinaryLocs_ (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\local.js:40:23) at Local.setupDriverEnv (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\local.js:81:14) at Local.setupEnv (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\driverProvider.js:110:34) at q.then (D:\STS_workspace\jgh\node_modules\protractor\built\runner.js:334:41) at _fulfilled (D:\STS_workspace\jgh\node_modules\q\q.js:834:54) at self.promiseDispatch.done (D:\STS_workspace\jgh\node_modules\q\q.js:863:30) at Promise.promise.promiseDispatch (D:\STS_workspace\jgh\node_modules\q\q.js:796:13) [21:19:23] E/launcher - Process exited with error code 135
My conf.js looks like:
var SpecReporter = require('jasmine-spec-reporter').SpecReporter; exports.config = { // directConnect:true, specs: ['spec4.js'], framework: 'jasmine2' , onPrepare: function () { jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true, displaySuccessesSummary: true, displayFailuresSummary: true, displayPendingSummary: true, displaySpecDuration: true, }, })); }, jasmineNodeOpts: { defaultTimeoutInterval: 25000, print: function () {}, },
I don't have selenium folder in the path node_modules/protractor/node_modules/webdriver-manager but I have package.json where I added "webdriver-update": "webdriver-manager update". This is the output of npm run webdriver-update:
D:\STS_workspace\jgh>npm run webdriver-update npm WARN invalid config proxy="http:" npm WARN invalid config Must be a full url with 'http://' npm WARN invalid config proxy="http:" npm WARN invalid config Must be a full url with 'http://' npm ERR! Windows_NT 10.0.14393 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "webdriver-update" npm ERR! node v6.10.0 npm ERR! npm v3.10.10 npm ERR! path D:\STS_workspace\jgh\package.json npm ERR! code ENOENT npm ERR! errno -4058 npm ERR! syscall open npm ERR! enoent ENOENT: no such file or directory, open 'D:\STS_workspace\jgh\package.json' npm ERR! enoent ENOENT: no such file or directory, open 'D:\STS_workspace\jgh\package.json' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any support request: npm ERR! D:\STS_workspace\jgh\npm-debug.log
How to solve "Could not find update-config.json. Run 'webdriver-manager update' to download binaries" , when running npm command for protractor test Simply update the webdriver-manager that exist in protractor bin folder . Updating from root folder may not works. So run the command...
You just need to run this command and it fixes it - npm run webdriver-update it updates you webdriver in node_modules section under node_modules/protractor. These 2 lines are the main culprits. Just try running that command and it should fix your issue.
To update specifically the one used by Protractor, you have to specify the path explicitly, like for example (starting from the root directory of your repo): The version argument is optional, running without it will update to the latest version. Sorry, something went wrong.
Run 'webdriver-manager update' to download binaries" , when running npm command for protractor test Simply update the webdriver-manager that exist in protractor bin folder . Updating from root folder may not works. So run the command... node ./node_modules/protractor/node_modules/webdriver-manager/bin/webdriver-manager update
It looks like you are either using directConnect
or launching with a local
driver provider (not having seleniumAddress
or directConnect
) in your configuration file. You need to run webdriver-manager update
.
Previously I had extra flags to not download standalone or gecko with webdriver-manager update --standalone false --gecko false
. This is no longer the case if you are starting via a local driver provider. You will need the selenium standalone jar file.
You could run this with a script in package.json. Something like:
"scripts": { "webdriver-update": "webdriver-manager update" }
Then execute this with: npm run webdriver-update
. How do you check if the binaries are there? In your project, navigate to node_modules/protractor/node_modules/webdriver-manager/selenium/
. This is where the update-config.json
and your downloaded binaries are located.
You can try to update it like this, it will definitely update it in node_modules/protractor :
$ ./node_modules/protractor/bin/webdriver-manager update
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With