Je suis nouveau au rapporteur. Je reçois l'erreur suivante en essayant d'exécuter des tests Selenium à l'aide d'un rapporteur.
I/hosted - Using the Selenium server at http://localhost:4444/wd/hub
I/launcher - Running 1 instances of WebDriver
E/launcher - Error code: 135
E/launcher - Error message: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
E/launcher - Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
at ClientRequest.<anonymous> (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\http\index.js:381:15)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at Socket.socketErrorListener (_http_client.js:267:9)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1269:8)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)
From: Task: WebDriver.createSession()
at Function.createSession (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib\webdriver.js:329:24)
at Builder.build (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\builder.js:458:24)
at Hosted.DriverProvider.getNewDriver (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\driverProvider.js:37:33)
at Runner.createBrowser (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\built\runner.js:187:43)
at c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\built\runner.js:261:30
at _fulfilled (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54)
at self.promiseDispatch.done (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30)
at Promise.promise.promiseDispatch (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13)
at c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:556:49
at runSingle (c:\Users\SavDevService.SAVISIONLAB\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:137:13)
E/launcher - Process exited with error code 135
J'ai vérifié si un autre processus écoute le port 4444, mais je n'en ai trouvé aucun. aussi je cours le pilote Web avec le drapeau --standalone.
Il semble que le serveur Selenium ne fonctionne pas sur http://127.0.0.1:4444/wd/hub
. Avant d'exécuter votre test de rapporteur, vous devez démarrer le serveur Selenium à l'aide de la commande ci-dessous .webdriver-manager start
. Après le démarrage du serveur, vos tests seront exécutés sans erreur.
Si vous ne voulez pas démarrer le serveur Selenium manuellement, supprimez simplement la propriété seleniumAddress:http://localhost:4444/wd/hub
de votre conf.js.
Vous pouvez également ajouter ces lignes à votre fichier conf.js
:
chromeOnly: true,
directConnect: true,
Démarrez le WebDriver, il est utile de mettre à jour le pilote Web et de démarrer le pilote Web avant de commencer à exécuter votre suite de tests d'automatisation en exécutant les commandes ci-dessous dans l'écran de la console.
webdriver-manager update
webdriver-manager start
Avez-vous des pilotes Selenium installés pour le navigateur que vous souhaitez tester? Try with
webdriver-manager update
Il se chargera d'installer les pilotes pour vous. Il vous suffit de l'exécuter une fois. Si vous l'appelez à nouveau, vous verrez que les pilotes sont déjà installés et que vous ne procéderez pas.
Avez-vous démarré le serveur Selenium à l’aide de cette commande webdriver-manager start
? Si ce n’est pas le cas, votre configuration avec le serveur Selenium risque de poser problème. Je vous suggère donc de suivre cette discussion
Solution 1
webdriver-manager update --standalone
Solution 2
je reçois également ce type d'erreur, mais après définir les variables d'environnement ce problème est résolu. emplacement du npm; Exemple: C:\Utilisateurs\AppData\Roaming\npm
La solution directConnect
est Nice lorsque vous exécutez protractor
localement, mais cela n’a pas fonctionné lorsque vous avez essayé de le faire sous Jenkins. Il semble que lorsque vous exécutez tout dans les conteneurs Docker dans Jenkins, vous devez d'abord démarrer webdriver-manager start
en mode détaché -d
, attendre, puis démarrer protractor
.