Protractor: Ungültiger oder beschädigter Jarfile-Selen-Server-Standalone-4.0.0-alpha-1.zip.jar

Erstellt am 24. Apr. 2019  ·  40Kommentare  ·  Quelle: angular/protractor

Wenn ich den Webdriver-Manager starte, nehme ich diesen Fehler, ich habe nichts in meinem Projekt geändert, was einen solchen Fehler rechtfertigt, und ich benutze ihn jeden Tag seit mehr als einem Jahr.

Fehler: Ungültige oder beschädigte Jarfile ./node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-4.0.0-alpha-1.zip.jar


  • Knotenversion: 8.12
  • Winkelmesser-Version: 5.4.2
  • Browser: Chrome
  • Betriebssystem und Version Ubuntu 16.04
  • Ihre Winkelmesser-Konfigurationsdatei:
'use strict';

require('babel-core/register');

const myReporter = require('./Report/MyReporter');
const Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
const failFast = require('jasmine-fail-fast');

module.exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    framework: 'jasmine2',
    allScriptsTimeout: 600000,
    capabilities: {
        browserName: 'chrome',
        chromeOptions: {
            args: ['--test-type', 'no-sandbox'],
        },
    },
    onPrepare: () => {
        browser.manage().window().setSize(1200, 1024);
        jasmine.getEnv().addReporter(failFast.init());
        jasmine.getEnv().addReporter(myReporter);
        jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({
            takeScreenshots: true,
            takeScreenshotsOnlyOnFailures: true,
            fixedScreenshotName: false,
            fileNameDateSuffix: true,
            cleanDestination: false,
            savePath: './Report/testReports/'
        }));
    }
};
  • Ein relevanter Beispieltest
fixed bug

Hilfreichster Kommentar

Ich werde morgen eine neue Version herausbringen.

Alle 40 Kommentare

Ich habe das gleiche Problem! :(

@sborland Ich habe dies auf meine eigene Weise gelöst, indem ich die Dateien standalone-response.xml und update-config.json geändert habe. Aber dieser Link kann Ihnen besser helfen:
https://stackoverflow.com/a/55836347

@ Davididque danke! Diese Umgehung hat bei mir funktioniert.

@davidzaque Ich habe das gleiche Problem. Aber ich möchte Selen nicht global installieren. Meine AngularJS-Anwendung hat einen Winkelmesser in ihrem Knotenmodul und der Winkelmesser hat seine eigenen Abhängigkeiten, in denen der Webtreiber auf den neuesten Stand gebracht wird. Wie kann man es speziell für Winkelmesser und nicht global installieren?

Ja, das ist ein Fehler. Dies scheint jede Version des Selenservers zu betreffen.

Hier ist der Fehler, der im Webdriver-Manager https://github.com/angular/webdriver-manager/issues/370 aufgeführt ist

Und hier ist der Fix / die Diskussion für den Fix: https://github.com/angular/webdriver-manager/pull/371

Ich werde morgen eine neue Version herausbringen.

Als vorübergehende Lösung für dieses Problem können Sie die eigenständige Version explizit festlegen, wenn Sie den Webdriver ausführen.
--versions.standalone = 3.9.1

Während ich Testfälle über Winkelmesser laufen ließ, konnte mir diese Lösung nicht helfen. Wie verwende ich diese Problemumgehung mit einem Winkelmesser?

Ich habe die Lösung nur mit unserem aktuellen Setup getestet.
Aber wenn man sich die offiziellen Dokumente ansieht
http://www.protractortest.org/#/

ich würde Rennen

  • Webdriver-Manager-Update --versions.standalone = 3.9.1
  • Webdriver-Manager starten
  • Winkelmesser conf.js

Ich hoffe das hilft dir irgendwie.

@ tomreinartz90 hatte ich versucht. Webdriver startet erfolgreich über Port 4444, zeigt jedoch den Fehler an, wenn protractor conf.js
[15:28:48] I/launcher - Running 1 instances of WebDriver [15:28:48] I/hosted - Using the selenium server at http://localhost:4444/wd/hub [15:28:50] E/launcher - Cannot define class using reflection [15:28:50] E/launcher - WebDriverError: Cannot define class using reflection

@ZehraHN Ich habe festgestellt, dass ich bei Verwendung von Version 3.141.0 nicht mehr auf dieses Problem stoße. Alles im Bereich von 3,8 oder 3,9 führte dazu, dass ich den Reflexionsfehler bekam.

Ja funktioniert jetzt. Danke @clymerrm

@davidzaque Ich habe das gleiche Problem. Aber ich möchte Selen nicht global installieren. Meine AngularJS-Anwendung hat einen Winkelmesser in ihrem Knotenmodul und der Winkelmesser hat seine eigenen Abhängigkeiten, in denen der Webtreiber auf den neuesten Stand gebracht wird. Wie kann man es speziell für Winkelmesser und nicht global installieren?

@tejasbhosale Ich benutze Winkelmesser nicht global. Ich habe die Datei geändert: node_modules/protractor/node_modules/webdriver-manager/selenium/standalone-response.xml
Ausgenommen Verweise auf Version 4.0.0-alpha und in der Datei:
/node_modules/protractor/node_modules/webdriver-manager/selenium/update-config.json
Ich habe diese Änderung vorgenommen:

"standalone": {
        "last": "/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar",
        "all": [
            "/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar"
        ]
    },

Danach habe ich diese Dateien aus dem Pfad node_modules herausgehalten, damit sie nicht aktualisiert werden, und die folgenden Skripte zu package.json hinzugefügt:

"scripts": {
        "preinstall": "node_modules/protractor/node_modules/webdriver-manager/bin/webdriver-manager clean",
        "postinstall": "cp standalone-response.xml ./node_modules/protractor/node_modules/webdriver-manager/selenium/ & cp update-config.json ./node_modules/protractor/node_modules/webdriver-manager/selenium/ & node_modules/protractor/node_modules/webdriver-manager/bin/webdriver-manager update --versions.standalone=3.141.59",
        "start": "webdriver-manager start"
    },

Ich weiß, es war zu viel Manöver, um das Problem zu lösen, aber so konnte ich es lösen, bevor eine andere Lösung veröffentlicht wurde.

Das gleiche Problem wie bei der Installation von npm ist das Herunterladen eines beschädigten JARs "selenium-server-standalone-4.0.0-alpha-1.zip.jar".

Versucht, npm erneut zu installieren.

Es hat kein Selenium-Verzeichnis selbst unter Webdriver-Manager!

Dateien unter Webdriver-Manager:
insgesamt 64
-rw-r - r-- 1 Wurzel Wurzel 1205 26. Oktober 1985 gulpfile.js
-rw-r - r-- 1 root root 547 26. Oktober 1985 config.json
-rw-r - r-- 1 Wurzel Wurzel 2455 26. Oktober 1985 README.md
-rw-r - r-- 1 Wurzel Wurzel 1078 26. Oktober 1985 LIZENZ
-rw-r - r-- 1 Wurzel Wurzel 2699 26. Oktober 1985 CONTRIBUTING.md
-rw-r - r-- 1 Wurzel Wurzel 21636 26. Oktober 1985 CHANGELOG.md
drwxr-xr-x 2 root root 4096 25. April 15:08 bin
drwxr-xr-x 3 root root 4096 25. April 15:08 gebaut
drwxr-xr-x 2 root root 4096 25. April 15:08 docs
drwxr-xr-x 5 root root 4096 25. April 15:08 node_modules
-rw-r - r-- 1 root root 3650 25. April 15:08 package.json

Fertig mit https://github.com/cnishina/webdriver-manager/commit/7dc17ef36e93f71bc63475612e343ffb84efec0f

Außerdem laden wir keine Alpha-Versionen herunter, da wir zuvor keine Beta-Versionen heruntergeladen haben. Bitte aktualisieren Sie auf Webdriver-Manager 12.1.2. Wenn Sie Protractor zum Herunterladen des Webdriver-Managers verwenden, entfernen Sie einfach das Verzeichnis node_modules und installieren Sie es neu oder führen Sie ein npm install -f . Lassen Sie dies für die Sichtbarkeit offen.

Fertig mit cnishina / webdriver-manager @ 7dc17ef

Außerdem laden wir keine Alpha-Versionen herunter, da wir zuvor keine Beta-Versionen heruntergeladen haben. Bitte aktualisieren Sie auf Webdriver-Manager 12.1.2. Wenn Sie Protractor zum Herunterladen des Webdriver-Managers verwenden, entfernen Sie einfach das Verzeichnis node_modules und installieren Sie es neu oder führen Sie ein npm install -f . Lassen Sie dies für die Sichtbarkeit offen.

@ cnishina
Vielen Dank für Ihre schnelle Antwort zu diesem Thema. Aber mein Build bei Jenkins schlägt immer noch mit demselben Fehler fehl. Kann ich irgendetwas tun?

@tejasbhosale Zwischenspeichern Sie das Verzeichnis oder den Arbeitsbereich Ihres Knotenmoduls? Sie können Ihren Jenkins-Arbeitsbereich bereinigen und es erneut versuchen. Ich habe eine Neuinstallation durchgeführt und überprüft, ob Sie [email protected] mit Protractor 5.4.2 erhalten sollen, da https://github.com/angular/protractor/blob/5.4.2/package.json#L29. Könnten Sie eine Sperrdatei haben, die auf 12.1.1 eingestellt ist?

@cnishina Danke für die Antwort. Ich vermute, dass das Löschen des Arbeitsbereichs bei mir nicht funktioniert hat. Ich werde mehr in Jenkins Konfiguration recherchieren. Aber eine gute Nachricht ist, dass es auf meiner lokalen Umgebung funktioniert hat, also muss es Jenkins sein. Und ich habe die pakcage.json meines Projekts überprüft, die diese Version verwendet
Winkelmesser: ^ 5.2.0
Ist das gut? Wird es noch Webdriver 12.1.2 bekommen?

Die unten genannte Lösung hat bei mir funktioniert:

  • Java deinstallieren / installieren
  • Richten Sie die Umgebungsvariable ein, wenn eine neuere Version von Java installiert ist

Navigieren Sie zu:
Schritt 1:
C: \ Benutzer \\ AppData \ Roaming \ npmnode_modules
Löschen Sie die unten genannten Ordner

  • Winkelmesser
  • Webdriver-Manager

Schritt 2:
Winkelmesser global neu installieren
npm install -g Winkelmesser

Schritt 3:
Führen Sie das Webdriver-Manager-Update erneut aus

Schritt 4:
Der Start von Webdriver-Manager löst keine Fehler aus

Ich hatte das gleiche Problem.
Es wird mit der Aktualisierung von Protractor von 5.4.1 auf 5.4.2 behoben. 👍
https://github.com/angular/protractor/issues/5224#issuecomment -486873791

Hallo @cnishina , ich habe "das Verzeichnis node_modules entfernen und neu installieren oder eine npm-Installation -f durchführen" gemacht, aber mein Problem nicht gelöst: Siehe unten:

├─┬ [email protected]
│ ├── @ types / [email protected]
│ ├── @ Typen / [email protected]
│ ├ [email protected]
│ │ [email protected] dedupiert
├─┬ │ [email protected]
│ │ [email protected]
│ │ ├┬┬ [email protected]
6 │ │
6 │ │
│ │ [email protected]
│ │ [email protected]
│ ├ [email protected] deduped
│ ├ [email protected]
│ │ ├── fs. [email protected]
│ ├─┬ │ [email protected]
│ │ │ ├ einmal @
│ │ │ [email protected]
│ ├── │ [email protected]
Atch │ ├ [email protected]
│ │ │ [email protected] deduped
│ │ ├ einmal @
│ │ │ └── [email protected] deduped
│ │ └── [email protected] deduped
│ ├ [email protected]
│ │ ├─ exit [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├ fs. [email protected] deduped
│ │ ├── │ [email protected] deduped
│ │ ├── │ [email protected] deduped
Atch │ │ ├ [email protected]
│ │ │ │ [email protected] deduped
│ │ │ ├ einmal @
│ │ │ └─ path
│ │ [email protected]
│ ├ [email protected]
│ ├ [email protected]
│ │ ├ [email protected]
│ │ [email protected]
│ ├ [email protected]
│ ├ [email protected]
│ │ [email protected] dedupiert
├─┬ │ [email protected]
S │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
O │ │ ├ [email protected]
│ │ ├─┬ │ [email protected]
│ │ │ │ ├ [email protected]
│ │ │ │ ├── [email protected] deduped
Ar │ │ │ ├ [email protected]
│ │ │ │ ├ [email protected]
│ │ │ │ ├ Safe- Puffer @
_ │ │ │ ├ [email protected]
│ │ │ │ │ Safe- 5.1.2 dedupiert
│ │ │ │ [email protected]
│ │ │ [email protected]
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ └── [email protected] deduped
│ │ └── [email protected] dedupiert
│ ├┬ [email protected]
│ │ └─- [email protected] deduped
│ ├ [email protected]
│ │ ├── @ Typen / [email protected] deduped
│ │ └ [email protected] dedupiert
[email protected]
│ ├ [email protected]
│ ├ [email protected] deduped
│ ├ [email protected]
│ │ ├ [email protected]
│ │ │ ├ [email protected]
-│ │ │
Ify │ │ ├ [email protected]
@ │ │ ├ [email protected]
S │ │ │ ├ fs. [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
Atch │ │ │ ├ [email protected]
Ce │ │ │ │
│ │ │ │ ├ einmal @
│ │ │ │ └── [email protected] deduped
│ │ │ ├─- [email protected] deduped
Ify │ │ ├ [email protected] dedupiert
│ │ │ [email protected] deduped
│ │ ├ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └ ist [email protected]
│ │ │ [email protected]
│ │ ├── [email protected] deduped
Ify │ ├ [email protected]
│ │ ├─ie [email protected]
Ie │ │
│ │ └─im [email protected] deduped
│ ├ [email protected] dedupiert
│ ├ [email protected]
│ ├ [email protected] dedupiert
│ ├ [email protected] dedupiert
│ ├ [email protected]
│ │ ├ [email protected]
│ │ ├ [email protected]
│ │ ├─ cas [email protected]
│ │ ├─┬ [email protected]
│ │ │ └ verzö[email protected]
│ │ ├── verlä[email protected]
│ │ ├── [email protected]
│ │ ├ [email protected]
Yn │ │ ├ [email protected]
│ │ │ ├── [email protected] dedupiert
│ │ │ [email protected] deduped
│ │ ├├ [email protected]
J │ │ ├ [email protected]
│ │ │ │ ├ [email protected]
│ │ │ │ ├── [email protected]
Son │ │ │ ├ [email protected]
│ │ │ │ └─i- [email protected]
Y │ │ │ └ [email protected]
│ │ │ [email protected]
│ │ ├ [email protected]
│ │ │ ├ [email protected]
Spr │ │ ├ [email protected]
│ │ │ │ ├─- [email protected] dedupiert
Ts │ │ │ ├├ ex [email protected]
Son │ │ │ ├ [email protected]
Ror │ │ │
│ │ │ │ ├─- [email protected] dedupiert
│ │ │ │ ├── [email protected] deduped
Ts │ │ │ [email protected] dedupiert
Sh │ │
N │ │ ├ [email protected]
│ │ │ │ [email protected] deduped
│ │ │ ├ [email protected] dedupiert
C │ │ ├ [email protected]
│ │ │ │ [email protected] deduped
│ │ │ ├ [email protected]
│ │ │ │ └─- [email protected] dedupiert
Cc │ │ ├ [email protected]
S │ │ │ ├ [email protected] dedupiert
│ │ │ │ [email protected] deduped
Pass │ │ ├ [email protected]
│ │ │ │ └─- [email protected] dedupiert
S │ │ ├ [email protected]
│ │ │ ├ [email protected] deduped
│ │ │ [email protected]
│ │ ├ [email protected]
Stream │ ├ [email protected]
Son │ ├ [email protected]
│ │ ├ [email protected]
Ime │ │
│ │ ├── [email protected]
│ │ ├ [email protected]
│ │ ├ [email protected]
│ │ ├ [email protected] dedupiert
│ │ ├├┬ [email protected]
L │ │ ├ [email protected]
Y │ │ └ [email protected]
│ │ ├ [email protected]
│ │ │ Safe- 5.1.2 dedupiert
│ │ [email protected]
│ ├ [email protected]
@
│ │ ├── fs. [email protected] deduped
│ ├── │ [email protected] deduped
│ ├── │ [email protected] deduped
Atch │ ├ [email protected]
│ │ │ [email protected] deduped
│ │ ├── [email protected] dedupiert
│ │ └── [email protected] deduped
│ ├ [email protected]
[email protected]
│ ├ [email protected]
[email protected]

Aber ich habe in meine package.json die Abhängigkeiten eingefügt:
"Webdriver-Manager": "^ 12.1.2"
Und das Problem behoben.
@cnishina Vielen Dank für Ihre schnelle Antwort zu diesem Thema.

Ich hatte das gleiche Problem.
Es wird durch Aktualisieren des Winkelmessers von 5.4.1 auf 5.4.2.👍 behoben
# 5224 (Kommentar)

Vielen Dank !!!!

Für StackOverflow habe ich versucht, einen Beitrag zur Beantwortung zu finden. Am Ende habe ich eine Frage erstellt und beantwortet:

https://stackoverflow.com/questions/55869815/error-invalid-or-corrupt-jarfile-node-modules-protractor-node-modules-webdriv

Ich habe eine kurze Erklärung darüber, was das Webdriver-Manager-Update macht und warum es passiert ist. Könnten wir für Sichtbarkeit stimmen?

Vielleicht verstehe ich nicht, wie man Versionen definiert? Ich habe meine package.json so aktualisiert, dass sie "protractor": "^5.4.2" , aber nach dem Entfernen von node_modules und der Neuinstallation wird node_modules/protractor/package.json "webdriver-manager": "^12.0.6" (und das Problem des Herunterladens einer zip.jar).

Vielleicht verstehe ich nicht, wie man Versionen definiert? Ich habe meine package.json so aktualisiert, dass sie "protractor": "^5.4.2" , aber nach dem Entfernen von node_modules und der Neuinstallation wird node_modules/protractor/package.json "webdriver-manager": "^12.0.6" (und das Problem des Herunterladens einer zip.jar).

Haben Sie Winkelmesser auch global installiert?

Nein, ich benutze ./node_modules/protractor/bin/protractor und ich sehe, dass which protractor nichts ergibt.

Wenn Sie webdriver-manager version ausführen, erhalten Sie auch Version 12.0.6?

Ich meine, die package.json wurde für Winkelmesser 5.4.2 nicht geändert, nur der Webdriver-Manager ist eine aktualisierte Version

Ich habe es nicht global installiert. Ich erinnere mich, als ich dieses Projekt startete, brauchte ich einige Zeit, um herauszufinden, dass der Web-Treiber im Winkelmesser mit ./node_modules/protractor/bin/webdriver-manager update aktualisiert werden muss. Wenn ich diese Version überprüfe:

$ ./node_modules/protractor/bin/webdriver-manager version
[16:29:49] I/version - webdriver-manager 12.1.1

Das scheint also besser zu sein, oder? Jedoch,

$ ./node_modules/protractor/bin/webdriver-manager update
[16:31:28] I/file_manager - creating folder /home/man/logicgate/dev/logicgate/platform/client/node_modules/protractor/node_modules/webdriver-manager/selenium
[16:31:28] I/config_source - curl -o/home/man/logicgate/dev/logicgate/platform/client/node_modules/protractor/node_modules/webdriver-manager/selenium/standalone-response.xml https://selenium-release.storage.googleapis.com/
[16:31:28] I/config_source - curl -o/home/man/logicgate/dev/logicgate/platform/client/node_modules/protractor/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[16:31:28] I/config_source - curl -o/home/man/logicgate/dev/logicgate/platform/client/node_modules/protractor/node_modules/webdriver-manager/selenium/gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[16:31:29] I/downloader - curl -o/home/man/logicgate/dev/logicgate/platform/client/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.46.zip https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.zip
[16:31:29] I/downloader - curl -o/home/man/logicgate/dev/logicgate/platform/client/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-4.0.0-alpha-1.zip.jar https://selenium-release.storage.googleapis.com/4.0/selenium-server-standalone-4.0.0-alpha-1.zip
...

dh alpha zip!, was beim Start zu einem beschädigten JAR-Fehler führt.

Sie sollten also auf dem neuesten Stand sein. Die neueste Version ist 12.1.4. Frühere Versionen von 12 funktionieren nicht, da sich die heruntergeladene Datei geändert hat. Anweisungen zum Upgrade finden Sie oben.

Ich habe ein Upgrade durchgeführt. Lassen Sie mich noch einmal versuchen zu erklären, weil es sehr verwirrend ist: Es gibt zwei verschiedene Definitionen von Webdriver-Manager im Spiel.

Die package.json in meinem Projekt hat "protractor": "^5.4.2" . Ich habe "Webdriver-Manager" noch nie explizit aufgenommen. Wenn ich den Befehl zum Aktualisieren ausgeführt habe, der das Selenium-Paket abruft, habe ich ./node_modules/protractor/bin/webdriver-manager update - eine Interaktion mit dem Webdriver-Build, der sich im bin-Verzeichnis des Winkelmessers befindet. Dies ist klobig und erfordert das Update, nachdem ich node_modules installiert habe, aber es hat bis zur Änderung funktioniert.

Das Einfügen von "webdriver-manager": "^12.1.4" in mein package.json hat keinen Einfluss darauf, welche Version Winkelmesser verwendet. Ich kann diese Schritte ausführen:

  • npm install in meinem Projektverzeichnis
  • Bearbeiten Sie die Datei in node_modules/protractor/package.json , um den Webdriver-Manager auf ^ 12.1.4 zu aktualisieren.
  • npm install in node_modules/protractor/
  • ./node_modules/protractor/bin/webdriver-manager update

um zu beweisen, dass ein aktualisierter Winkelmesser / Bin / Webdriver-Manager die richtige Version erhält. Ich freue mich jedoch nicht darauf, "Jetzt das Winkelmesser-Paket nach der Installation bearbeiten.json" in unsere CI-Pipeline aufzunehmen. Gibt es eine andere Möglichkeit, Winkelmesser zur Verwendung des neuesten Webdriver-Managers zu zwingen?

Können Sie Ihre package.json aktualisieren und Ihren devDependencies einen Webdriver-Manager hinzufügen? Das hat das Problem für mich behoben.

Im obigen Experiment befanden sich sowohl der Winkelmesser als auch der Webdriver-Manager (wenn hinzugefügt) in devDependencies.

Haben Sie überprüft, dass Ihre Version 12.1.4 ist, wenn Sie ./node_modules/protractor/bin/webdriver-manager update ausführen? Es gibt zwei Möglichkeiten, dies zu tun:

  1. Gehen Sie zu node_modules / protractor / node_modules / webdriver-manager / package.json und überprüfen Sie die Versionsnummer
  2. Führen Sie node_modules/.bin/webdriver-manager version

    Winkelmesser (standardmäßig) sollte die Version ^ 12.0.4 herunterladen, was bedeutet, dass sie 12.1.4 erhalten sollte. Wenn Sie immer noch eine .zip.jar-Datei erhalten, bedeutet dies, dass Sie eine alte Version haben und diese aktualisieren müssen.

Ich empfehle nicht, es zu Ihren devDependencies hinzuzufügen. Deshalb:

Angenommen, Protractor wird auf die Version ./node_modules/protractor/bin/webdriver-manager update aufrufen, kann nicht garantiert werden, dass Sie Version 12 oder 13 ausführen. Wenn Protractor die Dateien anruft, wird hoffentlich Version 13 verwendet. Wenn Ihre Dateien mit 12 heruntergeladen wurden, sind diese Dateien nicht vorhanden wenn Winkelmesser sie benötigt.

  • my-project / package.json: "protractor": "^5.4.2" in devDependencies, Webdriver-Manager nirgendwo
  • $ rm -rf node_modules
  • npm install
  • cat node_modules/protractor/package.json|grep webdr
    "webdriver-manager": "bin/webdriver-manager"
    "@types/selenium-webdriver": "^3.0.0",
    "selenium-webdriver": "3.6.0",
    "webdriver-js-extender": "2.1.0",
    "webdriver-manager": "^12.0.6"

Winkelmesser (standardmäßig) sollte die Version ^ 12.0.4 herunterladen, was bedeutet, dass sie 12.1.4 erhalten sollte.

Macht Sinn. Und doch:

$  ./node_modules/protractor/bin/webdriver-manager version
`[11:19:58] I/version - webdriver-manager 12.1.1

Verwirrend.

@mathpunk , gibt es hier eine package-lock.json -Datei, die möglicherweise auf 12.1.1 gesperrt ist?

Wir haben ein interessantes Szenario in unserer Organisation, da wir über ein eigenes automatisierungsbezogenes npm-Paket (in einer internen Registrierung) verfügen, das die Automatisierung von unseren SPAs und Anwendungen abstrahiert. Dieses Paket verwendet Winkelmesser 5.4.2 und verwendet keine package-lock.json-Datei, da wir einige Probleme damit gesehen haben, wie npm Abhängigkeiten von Abhängigkeiten dedupiert hat, was einige unserer Pfade durcheinander gebracht hat. Wenn Sie jedoch eine Version unseres Automatisierungspakets installieren, dessen Abhängigkeiten Winkelmesser in SPAs und Anwendungen sind, die die Dateien package-lock.json verwenden, wird weiterhin Webdriver-Manager 12.1.1 verwendet. npm i würde das als erstklassiger Bürger installieren, was wir nicht wollen, weil 12.1.4 und 12.1.1 immer noch vorhanden wären. npm update --depth 9999 webdriver-manager funktioniert nicht wie erwartet und wird von 12.1.1 auf 12.1.4 aktualisiert. Ohne die manuelle Änderung von package-lock.json in jeder konsumierenden Anwendung unseres Automatisierungspakets oder die Neuerstellung der Datei neu, was wir nicht wollen, weil es viele Pakete aktualisiert, die wir behalten möchten, um Regressionstestarbeiten zu verhindern, I. Ich bin mir nicht sicher, was ich tun soll.

@cnishina , danke für all die Arbeit, die du an Winkelmesser machst. Würden Sie eine PR eines Zweigs unterstützen, der von 5.4.2 abzweigt und nur den Webdriver-Manager auf 12.1.4 aktualisiert?

@simonua Du hast es geknackt! Package-lock.json entfernt, node_modules entfernt, installiert, webdriver-manager 12.1.4. Ich verstehe nicht, warum Versionen an zwei verschiedenen Stellen in diesem Ökosystem definiert sind, aber hey, Problem gelöst ~

Ich bin froh, dass es das getan hat. Wenn Sie aus Neugier Ihre Änderungen rückgängig machen und stattdessen npm i [email protected] mit der gewünschten expliziten Version ausführen würden, wären Sie vermutlich in guter Verfassung. Der Vorteil, den Sie haben würden, ist, dass Ihre anderen Versionen unberührt bleiben, was die Regressionsbelastung begrenzt.

Gleiches Problem hier

Laden Sie einfach die richtige Datei von der Selen-Website https://selenium-release.storage.googleapis.com/index.html?path=4.0/ herunter.
Ich nahm die JAR-Datei und änderte den Namen von * .jar in * .zip.jar
funktionierte ok

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen