Protractor: Solution de contournement pour utiliser [email protected] avec Chrome 74+

Créé le 25 avr. 2019  ·  55Commentaires  ·  Source: angular/protractor

@cnishina Existe- t-il une

Raison : La migration de grands projets de rapporteur vers la version 6.0.0 représente un effort énorme. Lorsque Chrome se met à jour automatiquement, vous êtes SOL.

Explication du problème
Erreur de rapporteur

fixed bug

Commentaire le plus utile

Salut @cnishina ,

Nous avons le même problème que @shihuawang et @raymonsaadalla . Notre société dispose de toute une base de code de scripts automatisés que nous exécutons sur Protractor, et maintenant que Chrome est automatiquement mis à jour vers la version 74, les scénarios de test ne sont pas exécutés.

Nous avons les versions d'applications suivantes:

  • Chrome est 74.0.3729.131,
  • Le rapporteur est 5.4.2,
  • webdriver-manager est 12.1.4,
  • le nœud est v8.12.0,
  • chromedriver est 74.0.3729.6.

Nous avons également fait une nouvelle installation de webdriver-manager et Protractor (les mêmes versions que ci-dessus).
L'exécution de scripts Protractor a obtenu le même résultat, le navigateur Chrome apparaît mais se bloque pour toujours.

Malheureusement, rétrograder Chrome vers la version 73 n'est pas une option pour nous. Existe-t-il une solution de contournement pour surmonter ce problème?

Tous les 55 commentaires

Il existe un correctif actuellement lié à webdriver-manager 13.

La bonne nouvelle est que lorsque ces changements se produisaient, je travaillais sur la correction de webdriver-manager. Vous pouvez utiliser Protractor 5.4.2 avec webdriver-manager 13. https://github.com/angular/webdriver-manager/pull/372 mais je ne sais pas comment cela fonctionne avec la connexion directe et locale s'il y en a plus d'un version de webdriver-manager dans le répertoire des modules du nœud.

Pouvons-nous sortir webdriver-manager 13 avec Protractor 5? Peut-être, mais cela pourrait être considéré comme un changement radical depuis que j'ai supprimé le support mobile pour webdriver-manager dans la version 13.

Définition de la balise de discussion pour la version Protractor 5 + webdriver-manager 13.

Je suis en fait surpris que cela n'ait pas suscité plus de conversations. Je peux me tromper, mais je pense que d'autres entreprises sur 5.4.2 seraient touchées par cela et ressentiraient également l'urgence de trouver une solution de rechange au lieu de passer à la version 6.0.0.

Quelqu'un peut-il deviner l'effort nécessaire pour créer une autre version 5.xx?

@cnishina Avant votre réponse, j'ai essayé de pirater pour faire fonctionner le dernier gestionnaire de pilotes Web avec 5.4.2 sans succès. Je, simplement:

  1. npm installé 13
  2. a lancé webdriver-manager update pour télécharger chromedriver 74
  3. copié le dossier sélénium

    • à partir de node_modules\webdriver-manager\selenium

    • à node_modules\protractor\node_modules\webdriver-manager\selenium

Ouais. Je regardais la branche principale en regardant les fournisseurs de pilotes et non 5.4.2. Il y a donc encore du travail à faire pour que 13 personnes travaillent. Permettez-moi de mettre à jour mon PR. Je devrai peut-être créer une version bêta pour que webdriver-manager puisse expérimenter cela.

OK https://github.com/angular/webdriver-manager/pull/372 est ma solution de contournement pour 13 avec Protractor 5.4.2 (avec des tests!).

Eh bien, je suis perdu maintenant. Tout à coup aujourd'hui, je ne reçois plus l'erreur d'hier et les tests fonctionnent correctement sur chrome 74 et chromedriver 2.46

Donc, avant, les tests fonctionnaient bien sur 73, j'ai volontairement mis à jour à 74, puis j'ai reçu l'erreur ci-dessus. J'ai donc simplement supposé que c'était lié et que quiconque mettrait à niveau Chrome à 74 ne serait plus en mesure d'exécuter des tests à moins de créer un hub / nœud de grille de sélénium localement.

Selon la documentation, Chromedriver 2.46 ne prend pas en charge Chrome 74, mais cela me permet au moins d'exécuter des tests maintenant? Une idée de ce qui aurait pu changer d'autre? Ou si cette erreur était même liée?

Chrome 74.0.3729.108
Rapporteur 5.4.2
gestionnaire de webdriver 12.1.2
chromedriver_2.46

Peu importe, je viens de voir votre message SO et, en regardant nos journaux de construction précédents, il semble que webdriver:manager update était en cours de téléchargement

selenium-server-standalone-4.0.0-alpha-1.zip.jar
à la place de
selenium-server-standalone-3.141.59.jar

Alors maintenant, c'est un problème réel. Chrome 74 est sorti et Protractor 5.4.2 utilise webdriver-manager 12.xx Cela ne télécharge que les pilotes chromés 2.xx. C'est un problème et nous aurons bientôt un correctif pour cela.

Voici donc le correctif pour webdriver-manager 12 qui fonctionnera avec Protractor 5.4.2: https://github.com/angular/webdriver-manager/pull/377

Cela a donc été résolu avec la publication de [email protected].

Comment l'obtenir?

  • faites une nouvelle installation de votre répertoire de modules de nœuds (supprimez le dossier node_modules et faites un npm install )
  • faire une installation forcée npm install -f

J'ai le problème que Protractor installe toujours le pilote 2.46 et lorsque j'essaie d'installer moi-même webdriver-manager et de l'ajouter à mes dépendances, le chromedriver installé ne peut pas être trouvé par Protractor

"C:\Program` Files\nodejs\node.exe" C:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\bin\protractor "C:\Users\Kurt\WebStorm 2019.1.1\plugins\JavaScriptLanguage\helpers\protractor-intellij\lib\protractor-intellij-config.js" --intellijOriginalConfigFile=C:\Users\Kurt\WebstormProjects\hcp\e2e\protractor.conf.js --disableChecks --specs C:\Users\Kurt\WebstormProjects\hcp\e2e\src\settings\homepage.e2e-spec.ts "--grep=^core "
[02:18:10] I/launcher - Running 1 instances of WebDriver
[02:18:10] I/direct - Using ChromeDriver directly...
[02:18:10] E/direct - Error code: 135
[02:18:10] E/direct - Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.
[02:18:10] E/direct - Error: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.
    at Direct.getNewDriver (C:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\built\driverProviders\direct.js:63:31)
    at Runner.createBrowser (C:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\built\runner.js:195:43)
    at C:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\built\runner.js:339:29
    at _fulfilled (C:\Users\Kurt\WebstormProjects\hcp\node_modules\q\q.js:834:54)
    at C:\Users\Kurt\WebstormProjects\hcp\node_modules\q\q.js:863:30
    at Promise.promise.promiseDispatch (C:\Users\Kurt\WebstormProjects\hcp\node_modules\q\q.js:796:13)
    at C:\Users\Kurt\WebstormProjects\hcp\node_modules\q\q.js:556:49
    at runSingle (C:\Users\Kurt\WebstormProjects\hcp\node_modules\q\q.js:137:13)
    at flush (C:\Users\Kurt\WebstormProjects\hcp\node_modules\q\q.js:125:13)
    at processTicksAndRejections (internal/process/task_queues.js:81:9)
[02:18:10] E/launcher - Process exited with error code 135

Process finished with exit code 135

Et voici le fichier de configuration

const {SpecReporter} = require('jasmine-spec-reporter');

exports.config = {
  SELENIUM_PROMISE_MANAGER: false,
  allScriptsTimeout: 11000,
  specs: [
    './src/**/*.e2e-spec.ts'
  ],
  capabilities: {
    'browserName': 'chrome'
  },
  directConnect: true,
  baseUrl: 'http://localhost:4200/',
  framework: 'jasmine',
  jasmineNodeOpts: {
    random: true,
    showColors: true,
    defaultTimeoutInterval: 30000
  },
  random: false,
  onPrepare: async () => {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
    await browser.driver.manage().window().maximize();
  }
};

Lorsque j'exécute la mise à jour de Webdriver-Manager

webdriver-manager: using local installed version 12.1.3
[02:33:40] I/update - chromedriver: file exists C:\Users\Kurt\WebstormProjects\hcp\node_modules\webdriver-manager\selenium\chromedriver_75.0.3770.8.zip
[02:33:40] I/update - chromedriver: unzipping chromedriver_75.0.3770.8.zip
[02:33:40] I/update - chromedriver: chromedriver_75.0.3770.8.exe up to date
[02:33:41] I/update - selenium standalone: file exists C:\Users\Kurt\WebstormProjects\hcp\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.141.59.jar
[02:33:41] I/update - selenium standalone: selenium-server-standalone-3.141.59.jar up to date
[02:33:41] I/update - geckodriver: file exists C:\Users\Kurt\WebstormProjects\hcp\node_modules\webdriver-manager\selenium\geckodriver-v0.24.0.zip
[02:33:41] I/update - geckodriver: unzipping geckodriver-v0.24.0.zip
[02:33:41] I/update - geckodriver: geckodriver-v0.24.0.exe up to date


Quand je supprime webdriver-manager de package.json, supprime node_modules et lance npm i , npm i-f et webdriver-manager update J'obtiens

C:\Users\Kurt\WebstormProjects\hcp>webdriver-manager update
[02:38:17] I/file_manager - creating folder C:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium
[02:38:17] I/config_source - curl -oC:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium\standalone-response.xml https://selenium-release.storage.googleapis.com/
[02:38:17] I/config_source - curl -oC:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium\chrome-response.xml https://chromedriver.storage.googleapis.com/
[02:38:17] I/config_source - curl -oC:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium\gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[02:38:17] I/downloader - curl -oC:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium/chromedriver_2.46.zip https://chromedriver.storage.googleapis.com/2.46/chromedriver_win32.zip
[02:38:18] I/downloader - curl -oC:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-3.141.59.jar https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
[02:38:18] I/update - chromedriver: unzipping chromedriver_2.46.zip
[02:38:19] I/downloader - curl -oC:\Users\Kurt\WebstormProjects\hcp\node_modules\protractor\node_modules\webdriver-manager\selenium/geckodriver-v0.24.0.zip https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-win64.zip
[02:38:20] I/update - geckodriver: unzipping geckodriver-v0.24.0.zip

C:\Users\Kurt\WebstormProjects\hcp>

@ Kurt29 Bizarre, vous pouvez vérifier la version avec node_modules / protractor / node_modules / webdriver-manager / package.json. Utilisez-vous des installations globales?

Correctifs proposés pour télécharger des versions spécifiques, démarrer des versions spécifiques, l'état et empêcher le téléchargement de 75.

https://github.com/angular/webdriver-manager/issues/376

Je viens de publier 12.1.4 avec le correctif: https://github.com/angular/webdriver-manager/pull/380. Cela devrait résoudre les problèmes que nous rencontrons avec les incompatibilités de chromedriver 75 et de chrome 74. Vous devriez également pouvoir télécharger --versions.chrome 74.0.3729.6 avec 12.1.4. Cela a été cassé en 12.1.3.

@ luker2 Voulez-vous vérifier cela avec moi et essayer 12.1.4?

D'accord, cela a été vérifié sur https://github.com/angular/webdriver-manager/issues/376

@cnishina fonctionne de mon côté.

J'ai spécifié à la fois 74 et 75 en utilisant le drapeau --versions.chrome et j'ai téléchargé les pilotes respectifs. Sans le drapeau, il a téléchargé 74.0.3729.6

Merci!

J'ai réinstallé le rapporteur dans mes node_modules locaux mais la version webdriver-manager reste la même: "webdriver-manager": "^ 12.0.6". Également essayé d'installer localement dans un nouveau dossier, même résultat. C'est peut-être un problème npm ...

Remarqué que dans webdriver-manager package.json webdriver-manager est correct "version": "12.1.4" mais dans les dépendances du rapporteur package.json, la version webdriver-manager est "webdriver-manager": "^ 12.0.6". Cela m'a dérouté. Cependant everithing fonctionne bien.

Oui, ^ 12.0.6 signifie récupérer la dernière version de la version mineure. Donc, dans ce cas, 12.1.4 est celui qu'il téléchargera.

Même si cela semble être installé avec succès, tous mes cas de test Protractor ont échoué. Cela a fonctionné vendredi (il y a 3 jours) mais a encore échoué maintenant.
L'échec a commencé lorsque google-chrome-stable est passé à 74.0.3729.131-1. Au départ, j'ai pu faire fonctionner mon test en installant la version précédente stable de google-chrome. Et vendredi a travaillé avec Protractor 5-4-2 et Chrome 74. Mais maintenant, cela ne fonctionne plus et ne peut pas trouver de solution. S'il vous plaît donnez votre avis.

Je suis sur le docker ubuntu 16.04.

@cnishina bien sûr que j'ai complètement oublié les versions de "^" npm merci pour l'explication et la correction

Puisque le # 5230 est fermé, je déplace les commentaires ici:

Parce que la nouvelle version de [email protected] ne fonctionne pas (cela n'a fonctionné que le 3 mai, vendredi), j'ai dû essayer l'ancienne version, mais cela ne fonctionne pas non plus.

Chrome 73 fonctionnait avant le 3 mai vendredi, mais ne fonctionnait plus par la suite. Nous ne pouvons pas exécuter notre test maintenant. Nous avons besoin d'une solution. S'il vous plaît des conseils. Merci d'avance.

Clarification: l'ancienne version que j'ai installée avant fonctionne correctement. Mais lorsque je crée un docker, maintenant , avec la version actuelle ou l'ancienne version ne fonctionne pas. On dirait donc que quelque chose dans une nouvelle version est cassé.

J'ai réduit le problème. L'échec se produit lorsque le code angulaire définit un bouton comme:
<button type="submit" class="btn btn-info pull-right" ui-sref="xxx.xxx.xxx">Create New Element</button>
et le script de test Protractor est:
browser.driver.findElements(by.xpath('//*[contains(text(), "' + arguments[0] + '")]'));
où arguments [0] = "Créer un nouvel élément"

Actuellement, j'ai la version 12.1.4 du gestionnaire webdriver et le chromedriver 74.0.3729.6 donc tout devrait fonctionner, mais mes tests échouent lorsqu'ils sont exécutés sur le navigateur Chrome 74.0.3729.131; cependant, cela fonctionne parfaitement bien si je l'exécute sur la version précédente 73. toute suggestion?
Merci

Cela ne semble pas lié au code de l'interface utilisateur Web de l'application et au script de test, et ma solution a de nouveau échoué. Il semble que la nouvelle version ne puisse pas gérer les exceptions bénignes ou les retours d'erreur non bloquants. Je n'ai donc pas vraiment de solution à moins de changer complètement le code de l'application afin qu'il ne renvoie pas d'erreur ou ne lance pas d'exceptions.

Seul le système installé lors de la sortie du 73 fonctionne. Mais si vous installez 73 sur un nouveau serveur, cela ne fonctionne pas non plus.

Existe-t-il un moyen de faire fonctionner n'importe quelle version (nouvelle installation)?

Quelque chose s'est passé vendredi, ça fonctionnait vendredi.

Salut @cnishina ,

Nous avons le même problème que @shihuawang et @raymonsaadalla . Notre société dispose de toute une base de code de scripts automatisés que nous exécutons sur Protractor, et maintenant que Chrome est automatiquement mis à jour vers la version 74, les scénarios de test ne sont pas exécutés.

Nous avons les versions d'applications suivantes:

  • Chrome est 74.0.3729.131,
  • Le rapporteur est 5.4.2,
  • webdriver-manager est 12.1.4,
  • le nœud est v8.12.0,
  • chromedriver est 74.0.3729.6.

Nous avons également fait une nouvelle installation de webdriver-manager et Protractor (les mêmes versions que ci-dessus).
L'exécution de scripts Protractor a obtenu le même résultat, le navigateur Chrome apparaît mais se bloque pour toujours.

Malheureusement, rétrograder Chrome vers la version 73 n'est pas une option pour nous. Existe-t-il une solution de contournement pour surmonter ce problème?

Je suis dans la même entreprise que @Priyankajoshipj. (Toutes mes applications sont les mêmes versions que les siennes énumérées ci-dessus.) L'image ci-jointe de notre navigateur Google Chrome est ce qui se passe lorsque nous essayons d'exécuter un script Protractor. Le navigateur apparaît alors se bloque comme ça pour toujours. Le test expire et le navigateur reste ainsi jusqu'à ce que nous le fermions manuellement.

2019-05-10_Hanging Protractor

@Niyarlatotep J'ai remarqué que le npm associé à la version 10.9.0 du nœud téléchargeait la version 12.0.6 de webdriver-manager. Lorsque j'ai essayé la version 10.15.3 du nœud, Protractor 5.4.2 inclut webdriver-manager 12.1.4. Si vous rencontrez toujours ce problème, j'examinerai tous les problèmes connus avec npm.

@shihuawang J'ai fait un exemple de test. Nous avons des versions chrome + chromedriver assez similaires. https://github.com/cnishina/protractor542-chrome74 Dans cet exemple, j'ai inclus la version Chrome et les versions ChromeDriver téléchargées. Cela fonctionne pour moi au moins pour un exemple simple. Encore une fois avec le problème ci-dessus, je vérifierais les versions de nœud, npm et webdriver-manager. Si vous êtes toujours sur Chrome 73, je ferais référence à la version 73.0.3683.68. Cela peut être fait avec webdriver-manager update --versions.chrome 73.0.3683.68 . Si vous êtes toujours sur webdriver-manager 12.0.x, il téléchargerait chromedriver 2.46 ( webdriver-manager update --versions.chrome 2.46 ) qui devrait fonctionner pour la version 73.

@raymonsaadalla Voir le commentaire ci-dessus sur la version 73. Vous pouvez utiliser Chromedriver 73.0.3683.68 ou 2.46.

@ XL175816 et @Priyankajoshipj J'ai pu faire fonctionner cela avec mon exemple simple: https://github.com/cnishina/protractor542-chrome74 Quand ces tests ont-ils fonctionné auparavant? Utilisez-vous async / await? Le premier site Web que vous dirigez n'est-il pas une page angulaire?

Veuillez vérifier si Protractor est installé globalement. Essayez de supprimer le dossier node_modules et réessayez. J'ai testé avec async / await et je n'ai pas rencontré ces problèmes avec webdriver-manager 12.1.4. Ma version de nœud est 10.15.3

Vous pouvez également essayer de supprimer package.lock.json et refaire l'installation de npn

Essayez également la commande npm dedupe . Il corrige le bogue avec la version webdriver-manager, si vous l'installez manuellement.

Nous avons essayé la suggestion de @vsravuri une fois de couple pour supprimer le dossier node_modules et réinstaller et WebDriver-Protractor gestionnaire. Nous avons également essayé de supprimer package.lock.json et de refaire "npm install".

@cnishina Nos tests ont fonctionné jusqu'au lundi (5/6) après-midi. Ils ont travaillé toute la journée jusqu'à ce que Google Chrome soit automatiquement mis à jour vers la version 74; puis ils ont tous échoué, y compris ceux que nous venions d'exécuter avec succès quelques minutes auparavant. Aucun de nos scripts n'a async / await. Et en effet, le premier site Web vers lequel nous nous dirigeons est une page angulaire.

Utilisez-vous Node 10.15.3? Quelle est l'erreur que vous voyez lorsque vous exécutez le test? Quel est le résultat de la mise à jour de Webdriver-Manager?

Salut cnishina,
La version 74 + webdriver-manager 12.1.4 + ChromeDriver 74 + nodejs 6.x + Protractor 5.4.2 ne fonctionne pas pour nous.

Cela nous est arrivé plusieurs fois lors de la mise à niveau de la version stable de Chrome, et à chaque fois que cela a été corrigé plus tard. Mais cette fois, cela n'a pas été corrigé. J'ai déjà dit qu'il a été corrigé à un moment donné, ce qui était mon malentendu. Donc, ce n'est jamais réglé pour 74.

À un moment donné, je peux le faire fonctionner en installant 73, mais maintenant cela ne fonctionne pas.

Le 73 que j'ai précédemment installé fonctionne bien, mais ne fonctionne pas avec une nouvelle installation.

Et la cause de l'échec n'est pas l'exception. Cela peut avoir à voir avec le délai d'expiration d'un processus, peut-être autre chose.

Salut vsravuri, Protractor est installé dans le monde entier et la plupart des autres cas ont fonctionné. Et avant la mise à niveau vers 74, cela fonctionnait toujours. aussi mon installation précédente avec 73 fonctionne toujours, mais nous devons installer sur le nouveau docker pour le test nocturne officiel. Notre projet a tous été retardé en raison de ce problème.

Salut vsravuri, mon erreur n'a pas réussi à créer un nouvel enregistrement qui subit un délai d'expiration avec l'une des étapes, mais il devrait toujours être créé. et cela fonctionnait jusqu'au chrome 74. À un moment donné, le 73 ne fonctionnait pas, mais plus tard, il a été corrigé. Pouvez-vous réparer 74 de la même manière?

Avant la 74, nous pouvons toujours revenir à une version plus ancienne pour la faire fonctionner. Mais pas de chance cette fois.

J'ai trouvé que la suppression du cache du navigateur (manuellement) peut résoudre le problème de délai d'expiration de mon application, mais lorsque je l'ajoute au rapporteur, cela ne semble pas vider le cache. Pouvez-vous me conseiller comment vider le cache dans le rapporteur. Celui que j'ai trouvé sur le Web ne fonctionne pas pour moi.

Vous devez vérifier s'il y a un problème avec ChromeDriver 74 et votre script d'automatisation. Pour vider le cache du navigateur, vous devez choisir si vous souhaitez supprimer les cookies, le stockage local ou le stockage de session.

Essaye ça
browser.executeScript ('window.sessionStorage.clear ();');
browser.executeScript ('window.localStorage.clear ();');
browser.manage (). deleteCookie ("test_cookie");

Salut vsravuri,
Plus tard, mon cache clair a fonctionné, certains comment il doit être dans une fonction comme le lien ci-dessous suggéré:
https://stackoverflow.com/questions/45218022/how-to-clear-a-browser-cache-in-protractor?rq=1

C'est donc un travail autour de mon problème particulier. Mais j'espère que quelqu'un pourra le résoudre pour gérer cette situation comme le fait le navigateur Chrome, se comporte de la même manière que le test manuel. Cela a été un problème dans plusieurs versions récentes de Chrome et toutes ont finalement été corrigées, sauf 74.

@Priyankajoshipj et moi avons les versions d'applications suivantes:

  • Chrome est 74.0.3729.131,
  • Le rapporteur est 5.4.2,
  • webdriver-manager est 12.1.4,
  • le nœud est v10.15.3,
  • chromedriver est 74.0.3729.6.

L'exécution de nos scripts produit toujours la même erreur qu'avant, Chrome étant vide. (Pour me répéter d'en haut, le navigateur apparaît mais est vide, ne peut même pas accéder à https: // localhost où se trouve notre application, et se bloque comme ça pour toujours. Le test expire, et le navigateur reste ainsi jusqu'à ce que nous fermez-le manuellement.) Parce qu'il se bloque, la cmd ne dit rien (juste un curseur clignotant), donc nous ne savons même pas quelle est l'erreur.

Effacer le cache Chrome avant d'exécuter un script ne fonctionne pas pour nous. Cela a le même résultat. Et nos tests ne doivent pas effacer le cache de toute façon.

Nous avons trouvé quelque chose qui pourrait être une piste. Nous avons pu exécuter le test simple de @cnishina mentionné ci-dessus et, après avoir expérimenté, nous avons trouvé un moyen de faire fonctionner nos tests. Il nécessite l'utilisation de async / await; il faudrait ajouter «wait» devant chaque ligne… Sans async / await, Chrome arrive parfois à https: // localhost puis se ferme immédiatement et dit «Erreur en attendant que Protractor se synchronise avec la page» ou parfois ne le fait pas 'pas du tout accéder à localhost (le navigateur vierge à jamais suspendu que j'ai attaché ci-dessus).

Cependant, changer tout le code de nos scripts représenterait un effort très important. Et comme mentionné précédemment, la rétrogradation de Chrome vers la version 73 n'est malheureusement pas une option pour nous. J'espère que la version 74 de Chrome peut être corrigée.

@ XL175816 à l'avenir, nous devons tout rendre asynchrone / attendre à cause de la dépréciation du flux de contrôle. Si async / await fonctionne, il peut être judicieux de commencer maintenant cet effort d'ingénierie pour mettre à niveau vos tests.

@shihuawang Veuillez ouvrir un nouveau bogue et ajouter plus d'informations. Comment cela échoue-t-il? Que faisiez-vous? Quel est le message d'erreur? Avez-vous un exemple de code? Dans quel environnement exécutez-vous vos tests? En lisant les messages ci-dessus, je ne sais pas par où commencer ni comment aider.

Je vais également verrouiller cette conversation car cela est résolu. Je le laisse ouvert au cas où quelqu'un se heurterait toujours à ce problème. Si vous rencontrez des problèmes avec Protractor que vous pensez être des problèmes avec le framework, n'hésitez pas à ouvrir un nouveau problème. Si vous recherchez de l'aide, veuillez la demander ici: https://stackoverflow.com/questions/tagged/protractor

Cette page vous a été utile?
0 / 5 - 0 notes