От Protractor
Этот учебник предназначен для пользователей Protractor, которые хотят перенести свой фреймворк на WebdriverIO. Он был создан после того, как команда Angular объявила, что Protractor больше не будет поддерживаться. На WebdriverIO повлияли многие проектные решения Protractor, что делает его, вероятно, наиболее близким фреймворком для миграции. Команда WebdriverIO ценит работу каждого участника Protractor и надеется, что этот учебник сделает переход на WebdriverIO легким и понятным.
Хотя мы хотели бы иметь полностью автоматизированный процесс миграции, реальность выглядит иначе. У каждого своя уникальная настройка и способ использования Protractor. Каждый шаг следует рассматривать как руководство, а не как пошаговую инструкцию. Если у вас возникают проблемы с миграцией, не стесняйтесь связаться с нами.
Настройка
API Protractor и WebdriverIO на самом деле очень похожи, до такой степени, что большинство команд можно переписать автоматически с помощью codemod.
Для установки codemod выполните:
npm install jscodeshift @wdio/codemod
Стратегия
Существует множество стратегий миграции. В зависимости от размера вашей команды, количества тестовых файлов и срочности миграции, вы можете попытаться трансформировать все тесты сразу или файл за файлом. Учитывая, что Protractor будет поддерживаться до Angular версии 15 (конец 2022 года), у вас ещё достаточно времени. Вы можете запускать тесты Protractor и WebdriverIO одновременно и начать писать новые тесты в WebdriverIO. В зависимости от вашего бюджета времени, вы можете сначала начать миграцию важных тестовых случаев и постепенно переходить к тестам, которые, возможно, даже можно удалить.
Сначала файл конфигурации
После установки codemod мы можем начать трансформировать первый файл. Сначала ознакомьтесь с параметрами конфигурации WebdriverIO. Файлы конфигурации могут стать очень сложными, и может иметь смысл перенести только основные части и решить, как добавить остальное после того, как будут перенесены соответствующие тесты, требующие определенных опций.
Для первой миграции мы трансформируем только файл конфигурации и выполняем:
npx jscodeshift -t ./node_modules/@wdio/codemod/protractor ./conf.ts
Ваш файл конфигурации может называться по-другому, однако принцип должен быть тем же: начните миграцию с конфигурации.