Protractor: Umgehung der Verwendung von [email protected] mit Chrome 74+

Erstellt am 25. Apr. 2019  ·  55Kommentare  ·  Quelle: angular/protractor

@cnishina Gibt es eine

Grund : Es ist ein großer Aufwand, große Winkelmesserprojekte auf Version 6.0.0 zu migrieren. Wenn Chrome automatisch aktualisiert wird, sind Sie SOL.

Erklärung des Problems
Winkelmesserfehler

fixed bug

Hilfreichster Kommentar

Hallo @cnishina ,

Wir haben das ähnliche Problem wie @shihuawang und @raymonsaadalla . Unser Unternehmen verfügt über eine vollständige Codebasis automatisierter Skripts, die wir auf Protractor ausführen. Nachdem Chrome automatisch auf Version 74 aktualisiert wurde, werden die Testfälle nicht ausgeführt.

Wir haben die folgenden Versionen von Anwendungen:

  • Chrome ist 74.0.3729.131,
  • Winkelmesser ist 5.4.2,
  • Webdriver-Manager ist 12.1.4,
  • Knoten ist v8.12.0,
  • Chromedriver ist 74.0.3729.6.

Wir haben auch eine Neuinstallation von Webdriver-Manager und Protractor durchgeführt (dieselben Versionen wie oben).
Beim Ausführen von Protractor-Skripten wurde das gleiche Ergebnis erzielt. Der Chrome-Browser wird angezeigt, bleibt jedoch für immer hängen.

Ein Downgrade von Chrome auf Version 73 ist für uns leider keine Option. Gibt es eine Problemumgehung, um dieses Problem zu lösen?

Alle 55 Kommentare

Es gibt einen Fix, der derzeit an Webdriver-Manager 13 gebunden ist.

Die gute Nachricht ist, dass ich bei diesen Änderungen daran gearbeitet habe, den Webdriver-Manager zu reparieren. Sie könnten Protractor 5.4.2 mit Webdriver-Manager 13 verwenden. Https://github.com/angular/webdriver-manager/pull/372 Ich bin mir jedoch nicht sicher, wie dies mit Direktverbindung und lokal funktioniert, wenn es mehr als eine gibt Version von Webdriver-Manager im Verzeichnis der Knotenmodule.

Könnten wir Webdriver-Manager 13 mit Protractor 5 veröffentlichen? Möglicherweise, aber es könnte als bahnbrechende Änderung angesehen werden, da ich die mobile Unterstützung für Webdriver-Manager in Version 13 entfernt habe.

Festlegen des Diskussionstags für die Version Protractor 5 + Webdriver-Manager 13.

Ich bin tatsächlich überrascht, dass dies nicht zu mehr Gesprächen geführt hat. Ich könnte mich irren, aber ich würde denken, dass andere Unternehmen in 5.4.2 davon betroffen wären und auch die Dringlichkeit verspüren, eine Problemumgehung zu finden, anstatt auf 6.0.0 zu aktualisieren.

Kann jemand den Aufwand erraten, der erforderlich ist, um eine weitere 5.xx-Version zu erstellen?

@cnishina Vor Ihrer Antwort habe ich versucht, den neuesten Webdriver-Manager dazu zu bringen, ohne Glück mit 5.4.2 zu arbeiten. Ich habe einfach:

  1. npm installiert 13
  2. lief webdriver-manager update , um chromedriver 74 herunterzuladen
  3. kopierte den Selen-Ordner

    • von node_modules\webdriver-manager\selenium

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

Jep. Ich habe mir die Hauptniederlassung angesehen, als ich mir die Treiberanbieter angesehen habe, und nicht 5.4.2. Es muss also noch mehr Arbeit geleistet werden, um 13 zum Arbeiten zu bringen. Lassen Sie mich meine PR aktualisieren. Möglicherweise muss ich eine Beta-Version für den Webdriver-Manager erstellen, um damit zu experimentieren.

Okay, https://github.com/angular/webdriver-manager/pull/372 ist meine Problemumgehung für 13 mit Protractor 5.4.2 (mit Tests!).

Nun, ich bin jetzt ratlos. Heute erhalte ich plötzlich nicht mehr den Fehler von gestern und die Tests laufen auf Chrome 74 und Chromedriver 2.46 einwandfrei

Bevor die Tests auf 73 einwandfrei liefen, habe ich absichtlich auf 74 aktualisiert und dann den obigen Fehler erhalten. Ich habe nur angenommen, dass dies verwandt ist und dass jeder, der Chrome auf 74 aktualisiert hat, keine Tests mehr ausführen kann, wenn er nicht lokal einen Selen-Grid-Hub / -Knoten hochfährt.

Laut Docs unterstützt Chromedriver 2.46 Chrome 74 nicht, aber kann ich jetzt zumindest Tests durchführen? Irgendeine Idee, was sich sonst noch hätte ändern können? Oder ob dieser Fehler überhaupt damit zusammenhängt?

Chrome 74.0.3729.108
Winkelmesser 5.4.2
Webdriver-Manager 12.1.2
chromedriver_2.46

Egal, ich habe gerade Ihren SO-Beitrag gesehen und in unseren vorherigen Build-Protokollen sieht es so aus, als würde webdriver:manager update heruntergeladen

selenium-server-standalone-4.0.0-alpha-1.zip.jar
Anstatt von
selenium-server-standalone-3.141.59.jar

Dies ist nun ein aktuelles Problem. Chrome 74 wurde veröffentlicht und Protractor 5.4.2 verwendet den Webdriver-Manager 12.xx. Hiermit werden nur 2.xx-Chromedrivers heruntergeladen. Dies ist ein Problem, und wir werden bald eine Hotfix-Lösung dafür finden.

Hier ist der Fix für Webdriver-Manager 12, der mit Protractor 5.4.2 funktioniert: https://github.com/angular/webdriver-manager/pull/377

Dies wurde nun mit der Veröffentlichung von [email protected] behoben.

Wie bekomme ich es?

  • Führen Sie eine Neuinstallation Ihres Knotenmodulverzeichnisses durch (entfernen Sie den Ordner node_modules und führen Sie eine npm install ).
  • Führen Sie eine erzwungene Installation durch npm install -f

Ich habe das Problem, dass Protractor weiterhin Treiber 2.46 installiert. Wenn ich versuche, den Webdriver-Manager selbst zu installieren und zu meinen Abhängigkeiten hinzuzufügen, kann der installierte Chromedriver von Protractor nicht gefunden werden

"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

Und hier ist die Konfigurationsdatei

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();
  }
};

Wenn ich das Webdriver-Manager-Update ausführe

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


Wenn ich den Webdriver-Manager aus package.json entferne, lösche node_modules und führe npm i , npm i-f und webdriver-manager update ich bekomme

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 Seltsam , Sie könnten die Version mit node_modules / protractor / node_modules / webdriver-manager / package.json überprüfen. Verwenden Sie globale Installationen?

Vorgeschlagene Korrekturen zum Herunterladen bestimmter Versionen, Starten bestimmter Versionen, Status und Verhindern des Herunterladens von 75.

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

Ich habe gerade 12.1.4 mit dem folgenden Fix veröffentlicht: https://github.com/angular/webdriver-manager/pull/380. Dies sollte die Probleme beheben, die bei Fehlanpassungen von Chromedriver 75 und Chrome 74 auftreten. Außerdem sollten Sie in der Lage sein, --versions.chrome 74.0.3729.6 mit 12.1.4 herunterzuladen. Dies wurde in 12.1.3 gebrochen.

@ luker2 Möchten Sie dies bei mir überprüfen und 12.1.4 ausprobieren?

Okay, dies wurde unter https://github.com/angular/webdriver-manager/issues/376 überprüft

@cnishina Arbeitet an meinem Ende.

Ich habe sowohl 74 als auch 75 mit dem Flag --versions.chrome und die entsprechenden Treiber heruntergeladen. Ohne die Flagge wurde 74.0.3729.6 heruntergeladen

Vielen Dank!

Ich habe Winkelmesser in meinen lokalen Knotenmodulen neu installiert, aber die Webdriver-Manager-Version bleibt dieselbe: "Webdriver-Manager": "^ 12.0.6". Auch versucht, lokal in neuem Ordner zu installieren, gleiches Ergebnis. Möglicherweise ist es ein npm-Problem ...

Es wurde festgestellt, dass in webdriver-manager package.json webdriver-manager die korrekte "version": "12.1.4" ist, in den Abhängigkeiten von protractor package.json jedoch die webdriver-manager-Version "webdriver-manager": "^ 12.0.6". Es hat mich verwirrt. Jedoch funktioniert alles gut.

Ja, ^ 12.0.6 bedeutet, die neueste Nebenversion zu erhalten. In diesem Fall wird 12.1.4 heruntergeladen.

Obwohl es so aussieht, als ob es erfolgreich installiert wurde, sind alle meine Winkelmesser-Testfälle fehlgeschlagen. Es hat am Freitag (vor 3 Tagen) funktioniert, ist aber jetzt wieder fehlgeschlagen.
Der Fehler begann mit dem Upgrade von Google-Chrome-Stable auf 74.0.3729.131-1. Ich konnte meine Testarbeit zunächst durch die Installation der vorherigen Google-Chrome-Stable-Version erhalten. Und Friday hat mit Protractor 5-4-2 und Chrome 74 gearbeitet. Aber jetzt funktioniert es nicht mehr und kann keine Arbeit finden. Bitte beraten.

Ich bin auf Ubuntu 16.04 Docker.

@cnishina sicher, dass ich "^" npm-Versionen komplett vergessen habe. Danke für die Erklärung und Korrektur

Da # 5230 geschlossen ist, verschiebe ich Kommentare hierher:

Da die neue Version von [email protected] nicht funktioniert (sie funktionierte nur am 3. Mai, Freitag), musste ich die alte Version ausprobieren, aber sie funktioniert auch nicht.

Chrome 73 funktionierte vor dem 3. Mai, Freitag, aber danach nicht mehr. Wir können unseren Test jetzt nicht durchführen. Wir brauchen eine Lösung. Bitte beraten. Danke im Voraus.

Erläuterung: Die alte Version, die ich zuvor installiert habe, funktioniert einwandfrei. Aber wenn ich jetzt Docker erstelle, funktioniert entweder die aktuelle oder die alte Version nicht. Es sieht also so aus, als ob etwas in einer neuen Version kaputt ist.

Ich habe das Problem eingegrenzt. Der Fehler tritt auf, wenn der Winkelcode eine Schaltfläche wie folgt definiert:
<button type="submit" class="btn btn-info pull-right" ui-sref="xxx.xxx.xxx">Create New Element</button>
und das Winkelmesser-Testskript lautet:
browser.driver.findElements(by.xpath('//*[contains(text(), "' + arguments[0] + '")]'));
Dabei sind Argumente [0] = "Neues Element erstellen"

Derzeit habe ich den Webdriver Manager Version 12.1.4 und Chromedriver 74.0.3729.6, so dass alles funktionieren sollte, aber meine Tests schlagen fehl, wenn sie mit dem Chrome Browser 74.0.3729.131 ausgeführt werden. Es funktioniert jedoch einwandfrei, wenn ich es auf der vorherigen 73-Version ausführe. irgendein Vorschlag?
Vielen Dank

Es scheint nichts mit dem Web-UI-Code und dem Testskript der Anwendung zu tun zu haben, und meine Problemumgehung ist erneut fehlgeschlagen. Es sieht so aus, als ob die neue Version keine harmlosen Ausnahmen oder nicht blockierenden Fehlerrückgaben verarbeiten kann. Ich habe also keine wirkliche Lösung, es sei denn, ich ändere den Anwendungscode vollständig, damit er keine Fehler zurückgibt oder Ausnahmen auslöst.

Nur das System, das bei der Veröffentlichung des 73 installiert wurde, funktioniert. Aber wenn Sie 73 auf einem neuen Server installieren, funktioniert es auch nicht.

Gibt es eine Möglichkeit, eine Version (Neuinstallation) zum Laufen zu bringen?

Freitag ist etwas passiert, es hat Freitag funktioniert.

Hallo @cnishina ,

Wir haben das ähnliche Problem wie @shihuawang und @raymonsaadalla . Unser Unternehmen verfügt über eine vollständige Codebasis automatisierter Skripts, die wir auf Protractor ausführen. Nachdem Chrome automatisch auf Version 74 aktualisiert wurde, werden die Testfälle nicht ausgeführt.

Wir haben die folgenden Versionen von Anwendungen:

  • Chrome ist 74.0.3729.131,
  • Winkelmesser ist 5.4.2,
  • Webdriver-Manager ist 12.1.4,
  • Knoten ist v8.12.0,
  • Chromedriver ist 74.0.3729.6.

Wir haben auch eine Neuinstallation von Webdriver-Manager und Protractor durchgeführt (dieselben Versionen wie oben).
Beim Ausführen von Protractor-Skripten wurde das gleiche Ergebnis erzielt. Der Chrome-Browser wird angezeigt, bleibt jedoch für immer hängen.

Ein Downgrade von Chrome auf Version 73 ist für uns leider keine Option. Gibt es eine Problemumgehung, um dieses Problem zu lösen?

Ich bin in der gleichen Firma wie @Priyankajoshipj. (Alle meine Anwendungen haben die gleichen Versionen wie ihre oben aufgeführten.) Das angehängte Bild unseres Google Chrome-Browsers ist das, was passiert, wenn wir versuchen, ein Winkelmesser-Skript auszuführen. Der Browser erscheint und hängt dann für immer so. Der Test läuft ab und der Browser bleibt so, bis wir ihn manuell schließen.

2019-05-10_Hanging Protractor

@Niyarlatotep Ich habe festgestellt, dass die mit der Knotenversion 10.9.0 verknüpfte npm die Webdriver-Manager-Version 12.0.6 heruntergeladen hat. Als ich Node Version 10.15.3 ausprobierte, enthielt Protractor 5.4.2 den Webdriver-Manager 12.1.4. Wenn Sie dieses Problem immer noch haben, würde ich alle bekannten Probleme mit npm untersuchen.

@shihuawang Ich habe einen Beispieltest gemacht. Wir haben ziemlich ähnliche Chrome + Chromedriver-Versionen. https://github.com/cnishina/protractor542-chrome74 In diesem Beispiel habe ich die Chrome-Version und die ChromeDriver-Versionen aufgenommen, die heruntergeladen wurden. Das funktioniert bei mir zumindest für ein einfaches Beispiel. Wieder mit dem obigen Problem würde ich die Versionen von Node, Npm und Webdriver-Manager überprüfen. Wenn Sie noch auf Chrome 73 arbeiten, verweise ich auf Version 73.0.3683.68. Dies kann mit webdriver-manager update --versions.chrome 73.0.3683.68 . Wenn Sie noch mit Webdriver-Manager 12.0.x arbeiten, wird chromedriver 2.46 ( webdriver-manager update --versions.chrome 2.46 ) heruntergeladen, der für Version 73 funktionieren sollte.

@raymonsaadalla Siehe den obigen Kommentar zu Version 73. Sie können entweder Chromedriver 73.0.3683.68 oder 2.46 verwenden.

@ XL175816 und @Priyankajoshipj Ich konnte dies Laufen bringen: https://github.com/cnishina/protractor542-chrome74 Wann haben diese Tests zuvor funktioniert? Verwenden Sie async / await? Ist die erste Website, auf die Sie verweisen, keine Angular-Seite?

Bitte überprüfen Sie, ob der Winkelmesser global installiert ist. Versuchen Sie, den Ordner node_modules zu entfernen, und versuchen Sie es erneut. Ich habe mit async / await getestet und bin mit Webdriver-Manager 12.1.4 nicht auf diese Probleme gestoßen. Meine Knotenversion ist 10.15.3

Sie können auch versuchen, package.lock.json zu löschen und die npn-Installation erneut durchzuführen

Versuchen Sie auch den Befehl npm dedupe . Es behebt den Fehler mit der Webdriver-Manager-Version, wenn Sie es manuell installieren.

Wir haben ein paar Mal versucht , den Vorschlag von @vsravuri zu entfernen, den Ordner node_modules zu entfernen und Protractor und den Webdriver-Manager neu zu installieren. Wir haben auch versucht, package.lock.json zu löschen und "npm install" erneut auszuführen.

@cnishina Unsere Tests haben bis Montag (5/6) Nachmittag funktioniert. Sie arbeiteten den ganzen Tag, bis Google Chrome automatisch auf Version 74 aktualisiert wurde. dann scheiterten sie alle, einschließlich derer, die wir erst Minuten zuvor erfolgreich ausgeführt hatten. Keines unserer Skripte hat Async / Warten. Tatsächlich ist die erste Website, auf die wir verweisen, eine Angular-Seite.

Verwenden Sie Node 10.15.3? Was ist der Fehler, den Sie sehen, wenn Sie den Test ausführen? Was ist die Ausgabe des Webdriver-Manager-Updates?

Hallo cnishina,
Die Version 74 + Webdriver-Manager 12.1.4 + ChromeDriver 74 + NodeJS 6.x + Protractor 5.4.2 funktioniert bei uns nicht.

Dies ist uns mehrmals passiert, als die stabile Chrome-Version aktualisiert wurde, und jedes Mal, wenn sie später behoben wird. Aber diesmal wurde es nicht behoben. Ich habe zuvor gesagt, dass es auf einmal behoben wurde, was mein Missverständnis war. Es ist also nie für 74 festgelegt.

Einmal kann ich es durch Installation 73 zum Laufen bringen, aber jetzt funktioniert es nicht mehr.

Die 73, die ich zuvor installiert habe, funktioniert gut, funktioniert aber nicht mit einer Neuinstallation.

Und die Ursache für den Fehler ist nicht die Ausnahme. Es könnte mit dem Timeout eines Prozesses zu tun haben, könnte etwas anderes sein.

Hallo vsravuri, Winkelmesser ist global installiert und die meisten anderen Fälle haben funktioniert. Und vor dem Upgrade auf 74 hat es noch funktioniert. Auch meine vorherige Installation mit 73 funktioniert noch, aber wir müssen sie für einen offiziellen nächtlichen Test auf einem neuen Docker installieren. Unser Projekt hat sich aufgrund dieses Problems verzögert.

Hallo vsravuri, mein Fehler ist fehlgeschlagen, um einen neuen Datensatz zu erstellen, bei dem mit einem Schritt eine Zeitüberschreitung auftritt, aber es sollte trotzdem erstellt werden. und es funktionierte bis Chrom 74. Zu einer Zeit funktionierte die 73 nicht, aber später wurde es repariert. Können Sie 74 auf die gleiche Weise reparieren?

Vor 74 können wir immer zur älteren Version zurückkehren, damit sie funktioniert. Aber diesmal kein Glück.

Ich habe festgestellt, dass das Löschen des Browser-Cache (manuell) das Timeout-Problem meiner Anwendung beheben kann, aber wenn ich es dem Winkelmesser hinzufüge, scheint der Cache nicht gelöscht zu werden. Können Sie mir raten, wie man den Cache im Winkelmesser löscht? Die, die ich im Web gefunden habe, funktioniert bei mir nicht.

Sie müssen überprüfen, ob ein Problem mit ChromeDriver 74 und Ihrem Automatisierungsskript vorliegt. Um den Browser-Cache zu löschen, müssen Sie auswählen, ob Sie Cookies, lokalen Speicher oder Sitzungsspeicher löschen möchten.

Versuche dies
browser.executeScript ('window.sessionStorage.clear ();');
browser.executeScript ('window.localStorage.clear ();');
browser.manage (). deleteCookie ("test_cookie");

Hallo vsravuri,
Ich habe später meinen übersichtlichen Cache zum Laufen gebracht, einige davon müssen in einer Funktion sein, wie der folgende Link vorschlägt:
https://stackoverflow.com/questions/45218022/how-to-clear-a-browser-cache-in-protractor?rq=1

Dies ist also eine Lösung für mein spezielles Problem. Ich hoffe jedoch, dass jemand das Problem beheben kann, um diese Situation so zu behandeln, wie es der Chrome-Browser tut. Er verhält sich genauso wie ein manueller Test. Dies war in den letzten mehreren Chrome-Versionen ein Problem und alle außer 74 wurden endlich behoben.

@Priyankajoshipj und ich haben die folgenden Versionen von Anwendungen:

  • Chrome ist 74.0.3729.131,
  • Winkelmesser ist 5.4.2,
  • Webdriver-Manager ist 12.1.4,
  • Knoten ist v10.15.3,
  • Chromedriver ist 74.0.3729.6.

Das Ausführen unserer Skripte führt immer noch zu demselben Fehler wie zuvor, wobei Chrome leer ist. (Um mich von oben zu wiederholen, der Browser wird angezeigt, ist jedoch leer, kann nicht einmal zu https: // localhost gelangen, wo sich unsere Anwendung befindet, und hängt für immer so. Der Test läuft ab, und der Browser bleibt so, bis wir Schließen Sie es manuell.) Da es hängt, sagt das cmd nichts (nur einen blinkenden Cursor), sodass wir nicht einmal wissen, was der Fehler ist.

Das Löschen des Chrome-Cache vor dem Ausführen eines Skripts funktioniert bei uns nicht. Es hat das gleiche Ergebnis. Und unsere Tests sollten den Cache sowieso nicht leeren.

Wir haben etwas gefunden, das eine Spur sein könnte. Wir konnten den oben erwähnten einfachen Test von @cnishina ausführen und fanden nach dem Experimentieren einen Weg, unsere Tests zum https: // localhost, schließt dann sofort und sagt "Fehler beim Warten auf die Synchronisierung des Winkelmessers mit der Seite" oder manchmal nicht Ich komme überhaupt nicht zu localhost (dem für immer hängenden leeren Browser, den ich oben angehängt habe).

Das Ändern des gesamten Codes in unseren Skripten wäre jedoch ein sehr erheblicher Aufwand. Und wie bereits erwähnt, ist ein Downgrade von Chrome auf Version 73 für uns leider keine Option. Hoffe, Chrome Version 74 kann behoben werden.

@ XL175816 In Zukunft müssen wir alles

@shihuawang Bitte öffne einen neuen Fehler und füge weitere Informationen hinzu. Wie scheitert es? Was hast du gemacht? Was ist die Fehlermeldung? Haben Sie einen Beispielcode? In welcher Umgebung führen Sie Ihre Tests durch? Beim Lesen der Nachrichten von oben bin ich mir nicht sicher, wo ich anfangen soll oder wie ich helfen soll.

Ich werde dieses Gespräch auch sperren, da dies gelöst ist. Ich lasse es offen, nur für den Fall, dass noch jemand auf dieses Problem stößt. Wenn Sie Probleme mit Protractor haben, die Ihrer Meinung nach Probleme mit dem Framework sind, können Sie ein neues Problem eröffnen. Wenn Sie Hilfe benötigen, fragen Sie diese bitte hier: https://stackoverflow.com/questions/tagged/protractor

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen