web-dev-qa-db-fra.com

Les tests échouent après Google chrome est mis à niveau vers la version 76

Je suis en train d'exécuter des tests à l'aide de Protractor (version 5.4.2) à l'intérieur du fichier de docker .after Google chrome est mis à niveau vers la version 76, les tests ont commencé à faire échouer cette erreur:

SessionNotCreatedError: session not created: Chrome version must be 
between 71 and 75
[chrome #01-2]   (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),
platform=Linux 4.15.0-1040-aws x86_64)

J'ai essayé de résoudre quelques façons de résoudre ce problème:

1) J'ai essayé de baliser la version chrome à la version précédente .Mais chrome déplace à la version stable et la version précédente est faite de chrome.
[.____] 2) 2) J'ai également examiné certaines solutions possibles en ligne à télécharger, mais cela ne fonctionne pas pour moi
[.____] 3) webDriver-manager update --versions.chrome 76.0.3809.68. PROTRACTOR 5.4.2 Remettez le pilote chrome 2.46

Soit je veux exécuter les tests sur chrome 75, donc j'ai besoin d'un moyen de rétrograder la version chrome ou je veux savoir comment puis-je effectuer un protacteur compatible avec chrome version 76

Jusqu'à présent, ce que j'ai fait est utilisé la mise à jour webDriver-manager sur mon local et lorsque je exécutez des tests, son fonctionnement bien, mais lorsque je passe des tests à l'intérieur du DockerFile, qui suivent également les étapes pour nettoyer et mettre à jour le gestionnaire WebDriver, il va Retour à l'utilisation chrome pilote 2.46 .Even webDriver propre supprime chromedriver 76

npx webdriver-manager clean
webdriver-manager: using local installed version 12.1.6
[11:01:36] I/file_manager - removed chromedriver_76.0.3809.12
[11:01:36] I/file_manager - removed chromedriver_76.0.3809.12.Zip
[11:01:36] I/file_manager - removed geckodriver-v0.24.0
[11:01:36] I/file_manager - removed geckodriver-v0.24.0.tar.gz
[11:01:36] I/file_manager - removed Selenium-server-standalone-3.141.59.jar
[11:01:36] I/file_manager - removed chrome-response.xml
[11:01:36] I/file_manager - removed gecko-response.json
[11:01:36] I/file_manager - removed standalone-response.xml
[11:01:36] I/file_manager - removed update-config.json
root@966d9b57465f:/opt# npx webdriver-manager update

la mise à jour NPX WebDriver-Manager donne à nouveau le même pilote

webdriver-manager: using local installed version 12.1.6

et maintenant, quand je cours test:

[11:03:07] I/update - chromedriver: file exists /opt/node_modules/protractor/node_modules/webdriver-manager/Selenium/chromedriver_2.46.Zip
[11:03:07] I/update - chromedriver: unzipping chromedriver_2.46.Zip
[11:03:08] I/update - chromedriver: setting permissions to 0755 for /opt/node_modules/protractor/node_modules/webdriver-manager/Selenium/chromedriver_2.46
[11:03:08] I/update - chromedriver: chromedriver_2.46 up to date
[11:03:08] I/launcher - Running 2 instances of WebDriver
[11:03:09] I/testLogger -
------------------------------------

Et si je supprimais le pilote chrome 2.46 tel qu'il est indiqué ci-dessus ce fichier existe .SO Les tests ne fonctionnent pas

ode:1131) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, stat '/opt/node_modules/protractor/node_modules/webdriver-manager/Selenium/chromedriver_2.46.Zip'
    at Object.fs.statSync (fs.js:948:11) 

Mais les mêmes tests fonctionnent localement

8
Dolly Agarwal

Vous pouvez exécuter la commande suivante avant d'exécuter les cas de test de Protractor

"Node ./node_modules/protractor/bin/webDriver-Manager Mise à jour - Standalone Faux --Gecko Faux --Versions.Chrome 2.44"

Après cela, courez votre fin pour mettre fin à la fin des tests.

Voici comment notre paquet.json a l'air

"install-webmanager": " node ./node_modules/protractor/bin/webdriver-manager update --standalone false --gecko false --versions.chrome 2.44"

"e2e": "npm run install-webmanager && ng e2e"

Donc tu dois juste courir

"npm run e2e"
1
Omkar Porje