web-dev-qa-db-fra.com

Rapporteur en STS IDE -> Impossible de trouver update-config.json

Actuellement, j'ai Protractor v.5.1.1, Node.js v.6.10.0

Tous les tests de rapporteur fonctionnent dans la console de fenêtre, mais lorsque j'essaie de les exécuter à partir de STS IDE, l'erreur est inférieure à celle-ci. Bien sûr, j'ai fait la «mise à jour de webdriver-manager», mais cela ne m'aide pas du tout. Quelqu'un a-t-il une idée de la façon de résoudre ce problème?

En dessous de l'erreur respectivement lorsque j'utilise ou non '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

ou

[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

Mon conf.js ressemble à:

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

Je n'ai pas de dossier Selenium dans le chemin node_modules/protractor/node_modules/webdriver-manager mais j'ai package.json où j'ai ajouté "webdriver-update": "webdriver-manager update" . Voici la sortie de 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

On dirait que vous utilisez soit directConnect, soit que vous lancez avec un fournisseur de pilote local (sans seleniumAddress ni directConnect) dans votre fichier de configuration. Vous devez exécuter webdriver-manager update

Auparavant, j'avais des drapeaux supplémentaires pour ne pas télécharger autonome ou gecko avec webdriver-manager update --standalone false --gecko false. Ce n'est plus le cas si vous démarrez via un fournisseur de pilote local. Vous aurez besoin du fichier jar autonome Selenium.

Vous pouvez exécuter ceci avec un script dans package.json. Quelque chose comme:

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

Puis exécutez ceci avec: npm run webdriver-update. Comment vérifiez-vous si les fichiers binaires sont là? Dans votre projet, accédez à node_modules/protractor/node_modules/webdriver-manager/Selenium/. C’est ici que se trouvent le update-config.json et les fichiers binaires téléchargés.

34
cnishina

Vous pouvez essayer de le mettre à jour comme ça, il le mettra certainement à jour dans node_modules/rapporteur:

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

Il suffit d’exécuter webdriver-manager avec npx command dans votre dossier de projet;

npx webdriver-manager update
4
Yildiray Meric

Sur MacOS, j'ai résolu cette erreur en ajoutant seleniumAddress à mon fichier de configuration Protractor (j'utilisais auparavant directConnect, ce qui explique comment)

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

Je démarre maintenant le serveur Protractor en exécutant: $ webdriver-manager start

Et dans une fenêtre de terminal différente, je lance les tests avec: $ ng e2e

1
beachCode

Vous devez juste exécuter cette commande et elle la corrige - npm run webdriver-update elle met à jour votre WebDriver dans la section node_modules sous node_modules/protractor 

Ces 2 lignes sont les principaux coupables. Essayez simplement d’exécuter cette commande et cela devrait résoudre votre problème.

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

J'espère que cela pourra aider!

0
Siddhartha Thota