CodeceptJS 4.0.0, выпущенный 21 мая 2026 года, представляет собой значительное крупное обновление фреймворка для автоматизации тестирования. Эта версия сосредоточена на модернизации и улучшении опыта разработчиков, основываясь на своей базе для сквозного тестирования. Для получения полной информации обратитесь к официальной статье в блоге CodeceptJS 4.0.0.

Ключевые Изменения

  • Переписывание на TypeScript: Весь фреймворк теперь написан на TypeScript. Это обеспечивает улучшенную типобезопасность, лучшую автодополнение в IDE и упрощает поддержку для контрибьюторов, делая разработку тестовых скриптов более надежной и менее подверженной ошибкам.
  • Playwright по Умолчанию: Playwright теперь является рекомендуемым и основным помощником браузера, предлагая современные возможности автоматизации браузеров и улучшенную производительность. Помощник WebDriver по-прежнему поддерживается для существующих проектов, но помощник WebDriverIO был полностью удален. Пользователям, в настоящее время использующим WebDriverIO, необходимо спланировать миграцию на Playwright или WebDriver.
  • Улучшения и Устаревания API:
    • I.seeElement и I.dontSeeElement теперь по умолчанию проверяют видимость элемента, что соответствует восприятию пользователя. Для проверки только наличия в DOM доступен новый метод I.seeInDOM.
    • Методы I.click и I.fillField теперь внутренне используют API locator Playwright, улучшая таргетирование элементов, стабильность и уменьшая нестабильность.
    • I.amOnPage теперь по умолчанию ожидает networkidle, чтобы убедиться, что все ресурсы страницы загружены до продолжения, предотвращая распространенные проблемы с таймингами.
    • Старые методы I.wait* (например, I.wait, I.waitForVisible) устарели в пользу более явных методов I.waitFor* (например, I.waitForElement, I.waitForText), способствуя более четкой тестовой логике.
    • Методы I.grab* теперь возвращают null вместо выбрасывания ошибки, если элемент не найден, что позволяет более изящно обрабатывать ошибки и использовать условную логику в тестах.
  • Новые Возможности: Этот релиз вводит I.waitForResponse и I.waitForRequest для расширенного мониторинга сети, I.attachFile для упрощенной загрузки файлов и I.switchToNextTab/I.switchToPreviousTab для более гибких сценариев тестирования с несколькими вкладками.
  • Обновление Конфигурации: Структура файла конфигурации была обновлена; в частности, секция plugins перемещена внутрь объекта config в файлах codecept.conf.ts или .js.

Влияние на QA Команды

Это обновление предоставляет QA командам более стабильный и типобезопасный фреймворк, что особенно полезно для крупных, сложных проектов. Переход на Playwright в качестве основного помощника соответствует современным тенденциям автоматизации браузеров, потенциально улучшая скорость и надежность выполнения тестов. Командам, в настоящее время использующим WebDriverIO, потребуется выделить ресурсы для миграции существующих тестов на Playwright или WebDriver.