webentwicklung-frage-antwort-db.com.de

Winkelmesser in STS IDE -> Update-config.json konnte nicht gefunden werden

Derzeit habe ich Protractor v.5.1.1, Node.js v.6.10.0

Alle Winkelmessertests funktionieren in der Fensterkonsole, aber wenn ich versuche, sie von STS IDE aus auszuführen, erhalte ich einen Fehler. Natürlich habe ich 'Webdriver-Manager Update' gemacht, aber es hilft überhaupt nicht. Hat jemand eine Idee, wie man dieses Problem lösen kann?

Unter dem Fehler, wenn ich 'directConnect' verwende oder nicht

[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

oder

[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

Mein conf.js sieht so aus:

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 () {},
},

Ich habe keinen Selenium-Ordner im Pfad node_modules/protractor/node_modules/webdriver-manager, aber ich habe package.json hinzugefügt, wo ich "webdriver-update" hinzugefügt habe: "webdriver-manager update" . Dies ist die Ausgabe von 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
18
EdXX

Es sieht so aus, als würden Sie entweder directConnect verwenden oder mit einem local-Treiberanbieter (ohne seleniumAddress oder directConnect) in Ihrer Konfigurationsdatei starten. Sie müssen webdriver-manager update ausführen. 

Zuvor hatte ich zusätzliche Flags, um Standalone oder Gecko nicht mit webdriver-manager update --standalone false --gecko false herunterzuladen. Dies ist nicht mehr der Fall, wenn Sie über einen lokalen Treiberanbieter starten. Sie benötigen die Selen-Standalone-JAR-Datei.

Sie können dies mit einem Skript in package.json ausführen. So etwas wie:

"scripts": {
  "webdriver-update": "webdriver-manager update"
}

Dann führe das aus mit: npm run webdriver-update. Wie prüfen Sie, ob die Binärdateien vorhanden sind? Navigieren Sie in Ihrem Projekt zu node_modules/protractor/node_modules/webdriver-manager/Selenium/. Hier befinden sich der update-config.json und Ihre heruntergeladenen Binärdateien.

34
cnishina

Sie können versuchen, es so zu aktualisieren, es wird definitiv in node_modules/protractor aktualisiert:

$ ./node_modules/protractor/bin/webdriver-manager update
25
Ya Yura

Führen Sie einfach webdriver-manager mit dem Befehl npx in Ihrem Projektordner aus.

npx webdriver-manager update
4
Yildiray Meric

Unter MacOS habe ich diesen Fehler behoben, indem ich meiner Protractor-Konfigurationsdatei die seleniumAddress hinzugefügt habe (zuvor habe ich directConnect verwendet, also kommentiert das aus)

// directConnect: true,
// baseUrl: 'http://localhost:4000/',
seleniumAddress: 'http://localhost:4444/wd/hub/',

Ich starte jetzt den Protractor-Server durch Ausführen von: $ webdriver-manager start

Und in einem anderen Terminalfenster starte ich Tests mit: $ ng e2e

1
beachCode

Sie müssen nur diesen Befehl ausführen und ihn beheben - npm run webdriver-update Er aktualisiert Ihren Web-Treiber im Abschnitt node_modules unter node_modules/protractor

Diese zwei Linien sind die Hauptschuldigen. Versuchen Sie einfach, diesen Befehl auszuführen und das Problem sollte behoben sein.

[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.

Hoffentlich hilft das!

0