Zum Hauptinhalt springen

Von v6 bis v7

Dieses Tutorial richtet sich an Personen, die noch v6 von WebdriverIO verwenden und auf v7 migrieren möchten. Wie in unserem Release-Blogbeitrag erwähnt, befinden sich die Änderungen größtenteils unter der Haube, und das Upgrade sollte ein unkomplizierter Prozess sein.

info

Wenn Sie WebdriverIO v5 oder niedriger verwenden, aktualisieren Sie bitte zuerst auf v6. Bitte sehen Sie sich unseren v6-Migrationsleitfaden an.

Während wir dafür gerne einen vollautomatisierten Prozess hätten, sieht die Realität anders aus. Jeder nutzt WebdriverIO auf eine andere Art und Weise. Dieses Dokument gilt als eine Hilfestellung und weniger als Schritt-für-Schritt-Anleitung. Wenn Sie Probleme mit der Migration haben, zögern Sie nicht, uns zu kontaktieren.

Setup

Ähnlich wie bei anderen Migrationen können wir den WebdriverIO Codemodverwenden. Für dieses Tutorial verwenden wir ein Boilerplate-Projekt, das von einem Community-Mitglied eingereicht wurde, und migrieren es vollständig von v6 auf v7.

Um den Codemod zu installieren, führen Sie Folgendes aus:

npm install jscodeshift @wdio/codemod

Commits:

Aktualisieren Sie WebdriverIO-Abhängigkeiten

Da alle WebdriverIO-Versionen eng beieinander liegen, ist es am besten, immer auf ein bestimmtes Tag zu aktualisieren, z. B. latest. Dazu kopieren wir alle WebdriverIO-bezogenen Abhängigkeiten aus unserer package.json und installieren sie neu über:

npm i --save-dev @wdio/allure-reporter@7 @wdio/cli@7 @wdio/cucumber-framework@7 @wdio/local-runner@7 @wdio/spec-reporter@7 @wdio/sync@7 wdio-chromedriver-service@7 wdio-timeline-reporter@7 webdriverio@7

Normalerweise sind WebdriverIO-Abhängigkeiten Teil der Dev-Dependencies, je nach Projekt kann dies jedoch variieren. Danach sollte Ihre package.json und package-lock.json aktualisiert werden. Hinweis: Dies sind die vom Beispielprojekt verwendeten Abhängigkeiten, Ihre können abweichen.

Commits:

Konfigurationsdatei Transformieren

Ein guter erster Schritt ist, mit der Konfigurationsdatei zu beginnen. In WebdriverIO v7 müssen wir keinen der Compiler mehr manuell registrieren. Diese Einstellungen müssen sogar entfernt werden. Dies kann mit dem Codemod vollautomatisch erfolgen:

npx jscodeshift -t ./node_modules/@wdio/codemod/v7 ./wdio.conf.js
caution

Der Codemod unterstützt noch keine TypeScript-Projekte. Siehe @webdriverio/codemod#10. Wir arbeiten daran, die Unterstützung dafür bald zu implementieren. Wenn Sie TypeScript verwenden, ist jede Hilfe gern gesehen!

Commits:

Schrittdefinitionen Aktualisieren

Wenn Sie Jasmin oder Mocha verwenden, sind Sie hier fertig. Der letzte Schritt besteht darin, die Cucumber.js-Importe von cucumber auf @cucumber/cucumber zu aktualisieren. Dies kann mit dem Codemod vollautomatisch erfolgen:

npx jscodeshift -t ./node_modules/@wdio/codemod/v7 ./src/e2e/*

Das war's! Keine weiteren Änderungen mehr notwendig 🎉

Commits:

Zusammenfassung

Wir hoffen, dass dieses Tutorial Ihnen ein wenig durch den Migrationsprozess zu WebdriverIO v7 geholfen hat. Die Community verbessert den Codemod weiter und testet ihn mit verschiedenen Teams in verschiedenen Organisationen. Zögern Sie nicht, ein Problem zu melden, wenn Sie Feedback haben, oder eine Diskussion zu beginnen wenn Sie während des Migrationsprozesses auf Schwierigkeiten stoßen.

Welcome! How can I help?

WebdriverIO AI Copilot