Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
249 views
in Technique[技术] by (71.8m points)

javascript - Protractor in STS IDE -> Could not find update-config.json

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_workspacejgh
ode_modulesprotractoruiltexitCodes.js:5:1)
at ProtractorError (D:STS_workspacejgh
ode_modulesprotractoruiltexitCodes.js:10:9)
at BrowserError (D:STS_workspacejgh
ode_modulesprotractoruiltexitCodes.js:51:9)
at Direct.getNewDriver (D:STS_workspacejgh
ode_modulesprotractoruiltdriverProvidersdirect.js:62:31)
at Runner.createBrowser (D:STS_workspacejgh
ode_modulesprotractoruilt
unner.js:194:43)
at q.then.then (D:STS_workspacejgh
ode_modulesprotractoruilt
unner.js:338:29)
at _fulfilled (D:STS_workspacejgh
ode_modulesqq.js:834:54)
at self.promiseDispatch.done (D:STS_workspacejgh
ode_modulesqq.js:863:30)
at Promise.promise.promiseDispatch (D:STS_workspacejgh
ode_modulesqq.js:796:13)
at D:STS_workspacejgh
ode_modulesqq.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_workspacejgh
ode_modulesprotractoruiltexitCodes.js:5:1)
   at ProtractorError (D:STS_workspacejgh
ode_modulesprotractoruiltexitCodes.js:10:9)
   at BrowserError (D:STS_workspacejgh
ode_modulesprotractoruiltexitCodes.js:51:9)
   at Local.addDefaultBinaryLocs_ (D:STS_workspacejgh
ode_modulesprotractoruiltdriverProviderslocal.js:40:23)
   at Local.setupDriverEnv (D:STS_workspacejgh
ode_modulesprotractoruiltdriverProviderslocal.js:81:14)
   at Local.setupEnv  (D:STS_workspacejgh
ode_modulesprotractoruiltdriverProvidersdriverProvider.js:110:34)
   at q.then (D:STS_workspacejgh
ode_modulesprotractoruilt
unner.js:334:41)
   at _fulfilled (D:STS_workspacejgh
ode_modulesqq.js:834:54)
   at self.promiseDispatch.done    (D:STS_workspacejgh
ode_modulesqq.js:863:30)
   at Promise.promise.promiseDispatch     (D:STS_workspacejgh
ode_modulesqq.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_workspacejgh>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_workspacejghpackage.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_workspacejghpackage.json'
    npm ERR! enoent ENOENT: no such file or directory, open 'D:STS_workspacejghpackage.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_workspacejgh
pm-debug.log
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...