Vai al contenuto principale

Da v6 a v7

Questo tutorial è per le persone che stanno ancora utilizzando v6 di WebdriverIO e vogliono migrare alla v7. Come menzionato nel nostro post sul blog di rilascio, i cambiamenti sono principalmente sotto il cofano e l'aggiornamento dovrebbe essere un processo semplice.

informazione

Se stai utilizzando WebdriverIO v5 o versioni precedenti, prima aggiorna alla v6. Consulta la nostra guida alla migrazione v6.

Anche se vorremmo avere un processo completamente automatizzato per questo, la realtà è diversa. Ognuno ha una configurazione differente. Ogni passaggio dovrebbe essere visto come una guida e meno come un'istruzione passo dopo passo. Se hai problemi con la migrazione, non esitare a contattarci.

Setup

Simile ad altre migrazioni, possiamo usare il codemod di WebdriverIO. Per questo tutorial utilizziamo un progetto boilerplate fornito da un membro della community e lo migriamo completamente da v6 a v7.

Per installare il codemod, esegui:

npm install jscodeshift @wdio/codemod

Commit:

Aggiornare le Dipendenze di WebdriverIO

Dato che tutte le versioni di WebdriverIO sono legate tra loro, è meglio aggiornare sempre a un tag specifico, ad esempio latest. Per farlo, copiamo tutte le dipendenze relative a WebdriverIO dal nostro package.json e le reinstalliamo tramite:

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

Solitamente le dipendenze di WebdriverIO fanno parte delle dipendenze di sviluppo, ma questo può variare a seconda del tuo progetto. Dopo questo passaggio, i tuoi file package.json e package-lock.json dovrebbero essere aggiornati. Nota: queste sono le dipendenze utilizzate dal progetto di esempio, le tue potrebbero essere diverse.

Commit:

Trasformare il File di Configurazione

Un buon primo passo è iniziare con il file di configurazione. In WebdriverIO v7 non è più necessario registrare manualmente nessuno dei compilatori. In effetti, devono essere rimossi. Questo può essere fatto con il codemod in modo completamente automatico:

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

Il codemod non supporta ancora progetti TypeScript. Vedi @webdriverio/codemod#10. Stiamo lavorando per implementare il supporto al più presto. Se stai utilizzando TypeScript, coinvolgiti!

Commit:

Aggiornare le Definizioni dei Passi

Se stai utilizzando Jasmine o Mocha, hai finito qui. L'ultimo passaggio è aggiornare gli import di Cucumber.js da cucumber a @cucumber/cucumber. Anche questo può essere fatto automaticamente tramite il codemod:

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

È tutto! Non sono necessarie altre modifiche 🎉

Commit:

Conclusione

Speriamo che questo tutorial ti guidi un po' attraverso il processo di migrazione a WebdriverIO v7. La community continua a migliorare il codemod testandolo con vari team in diverse organizzazioni. Non esitare a segnalare un problema se hai feedback o avviare una discussione se incontri difficoltà durante il processo di migrazione.

Welcome! How can I help?

WebdriverIO AI Copilot