Chuyển đến nội dung chính

Từ v6 đến v7

Hướng dẫn này dành cho những người vẫn đang sử dụng v6 của WebdriverIO và muốn chuyển đổi sang v7. Như đã đề cập trong bài viết phát hành của chúng tôi, những thay đổi chủ yếu là bên dưới và việc nâng cấp sẽ là một quá trình khá đơn giản.

thông tin

Nếu bạn đang sử dụng WebdriverIO v5 hoặc thấp hơn, vui lòng nâng cấp lên v6 trước. Hãy xem hướng dẫn chuyển đổi v6 của chúng tôi.

Mặc dù chúng tôi mong muốn có một quy trình tự động hoàn toàn cho việc này nhưng thực tế lại khác. Mỗi người có một cách thiết lập khác nhau. Mỗi bước nên được xem như một hướng dẫn và ít giống như hướng dẫn từng bước. Nếu bạn gặp vấn đề với việc chuyển đổi, đừng ngần ngại liên hệ với chúng tôi.

Thiết lập

Tương tự như các bản chuyển đổi khác, chúng ta có thể sử dụng codemod của WebdriverIO. Trong hướng dẫn này, chúng tôi sử dụng dự án mẫu được cung cấp bởi một thành viên cộng đồng và chuyển đổi hoàn toàn từ v6 sang v7.

Để cài đặt codemod, hãy chạy:

npm install jscodeshift @wdio/codemod

Commits:

Nâng cấp các Dependencies của WebdriverIO

Vì tất cả các phiên bản WebdriverIO đều liên kết với nhau nên tốt nhất là luôn nâng cấp lên một tag cụ thể, ví dụ: latest. Để làm điều đó, chúng ta sao chép tất cả các dependencies liên quan đến WebdriverIO từ package.json của chúng ta và cài đặt lại chúng thông qua:

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

Thông thường, các dependencies của WebdriverIO là một phần của dev dependencies, tùy thuộc vào dự án của bạn mà điều này có thể khác nhau. Sau bước này, package.jsonpackage-lock.json của bạn sẽ được cập nhật. Lưu ý: đây là các dependencies được sử dụng bởi dự án mẫu, của bạn có thể khác.

Commits:

Chuyển đổi tệp Cấu hình

Một bước đầu tiên tốt là bắt đầu với tệp cấu hình. Trong WebdriverIO v7, chúng ta không cần phải đăng ký thủ công bất kỳ trình biên dịch nào nữa. Thực tế, chúng cần được loại bỏ. Điều này có thể được thực hiện với codemod một cách tự động hoàn toàn:

npx jscodeshift -t ./node_modules/@wdio/codemod/v7 ./wdio.conf.js
thận trọng

Codemod chưa hỗ trợ các dự án TypeScript. Xem @webdriverio/codemod#10. Chúng tôi đang nỗ lực triển khai hỗ trợ cho nó sớm. Nếu bạn đang sử dụng TypeScript, vui lòng tham gia!

Commits:

Cập nhật Step Definitions

Nếu bạn đang sử dụng Jasmine hoặc Mocha, bạn đã hoàn thành phần này. Bước cuối cùng là cập nhật các import của Cucumber.js từ cucumber sang @cucumber/cucumber. Điều này cũng có thể được thực hiện thông qua codemod một cách tự động:

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

Vậy là xong! Không cần thêm thay đổi nào nữa 🎉

Commits:

Kết luận

Chúng tôi hy vọng hướng dẫn này giúp bạn một chút trong quá trình chuyển đổi sang WebdriverIO v7. Cộng đồng tiếp tục cải thiện codemod trong khi thử nghiệm nó với các nhóm khác nhau trong các tổ chức khác nhau. Đừng ngần ngại báo cáo một vấn đề nếu bạn có phản hồi hoặc bắt đầu một cuộc thảo luận nếu bạn gặp khó khăn trong quá trình chuyển đổi.

Welcome! How can I help?

WebdriverIO AI Copilot