Aller au contenu principal

De v6 à v7

Ce tutoriel est destiné aux personnes qui utilisent encore v6 de WebdriverIO et souhaitent migrer vers v7. Comme mentionné dans notre article de blog sur la version, les changements sont principalement sous le capot et la mise à niveau devrait être un processus simple.

info

Si vous utilisez WebdriverIO v5 ou une version antérieure, veuillez d'abord passer à v6. Consultez notre guide de migration v6.

Bien que nous aimerions avoir un processus entièrement automatisé pour cela, la réalité est différente. Chacun a une configuration différente. Chaque étape doit être considérée comme un guide et moins comme une instruction étape par étape. Si vous rencontrez des problèmes avec la migration, n'hésitez pas à nous contacter.

Configuration

Comme pour d'autres migrations, nous pouvons utiliser le codemod de WebdriverIO. Pour ce tutoriel, nous utilisons un projet boilerplate soumis par un membre de la communauté et le migrons complètement de v6 à v7.

Pour installer le codemod, exécutez :

npm install jscodeshift @wdio/codemod

Commits :

Mettre à niveau les dépendances WebdriverIO

Étant donné que toutes les versions de WebdriverIO sont liées les unes aux autres, il est préférable de toujours passer à une balise spécifique, par exemple latest. Pour ce faire, nous copions toutes les dépendances liées à WebdriverIO de notre package.json et les réinstallons via :

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

Habituellement, les dépendances WebdriverIO font partie des dépendances de développement, mais cela peut varier selon votre projet. Après cela, vos fichiers package.json et package-lock.json devraient être mis à jour. Remarque : ce sont les dépendances utilisées par le projet d'exemple, les vôtres peuvent différer.

Commits :

Transformer le fichier de configuration

Une bonne première étape consiste à commencer par le fichier de configuration. Dans WebdriverIO v7, nous n'avons plus besoin d'enregistrer manuellement les compilateurs. En fait, ils doivent être supprimés. Cela peut être fait automatiquement avec le codemod :

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

Le codemod ne prend pas encore en charge les projets TypeScript. Voir @webdriverio/codemod#10. Nous travaillons à l'implémentation de cette prise en charge prochainement. Si vous utilisez TypeScript, n'hésitez pas à vous impliquer !

Commits :

Mettre à jour les définitions d'étapes

Si vous utilisez Jasmine ou Mocha, vous avez terminé ici. La dernière étape consiste à mettre à jour les importations Cucumber.js de cucumber à @cucumber/cucumber. Cela peut également être fait automatiquement via le codemod :

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

C'est tout ! Pas d'autres changements nécessaires 🎉

Commits :

Conclusion

Nous espérons que ce tutoriel vous guide un peu dans le processus de migration vers WebdriverIO v7. La communauté continue d'améliorer le codemod en le testant avec diverses équipes dans diverses organisations. N'hésitez pas à signaler un problème si vous avez des commentaires ou à démarrer une discussion si vous rencontrez des difficultés pendant le processus de migration.

Welcome! How can I help?

WebdriverIO AI Copilot