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
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.
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
Il suffit d’exécuter webdriver-manager avec npx command dans votre dossier de projet;
npx webdriver-manager update
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
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!