CodeceptJS 4.0.0, lanzado el 21 de mayo de 2026, representa una actualización mayor significativa para el framework de automatización de pruebas. Esta versión se enfoca en la modernización y una mejor experiencia para los desarrolladores, construyendo sobre su base para pruebas end-to-end. Para obtener todos los detalles, consulte la publicación oficial del blog de CodeceptJS 4.0.0.

Cambios Clave

  • Reescritura en TypeScript: Todo el framework ahora está escrito en TypeScript. Esto proporciona una seguridad de tipos mejorada, una mejor auto-completación en IDEs y un mantenimiento más sencillo para los colaboradores, haciendo que el desarrollo de scripts de prueba sea más robusto y menos propenso a errores.
  • Playwright como Predeterminado: Playwright es ahora el browser helper recomendado y predeterminado, ofreciendo capacidades modernas de automatización de navegadores y un rendimiento mejorado. El helper de WebDriver sigue siendo compatible para proyectos existentes, pero el helper de WebDriverIO ha sido eliminado por completo. Los usuarios que actualmente dependen de WebDriverIO deben planificar la migración a Playwright o WebDriver.
  • Mejoras y Deprecaciones de API:
    • I.seeElement y I.dontSeeElement ahora verifican la visibilidad del elemento por defecto, alineándose con la percepción del usuario. Para verificar solo la presencia en el DOM, el nuevo método I.seeInDOM está disponible.
    • Los métodos I.click y I.fillField ahora utilizan internamente la API locator de Playwright, mejorando la selección de elementos, la estabilidad y reduciendo la inestabilidad.
    • I.amOnPage ahora espera por networkidle por defecto para asegurar que todos los recursos de la página estén cargados antes de continuar, previniendo problemas comunes de tiempo.
    • Los métodos I.wait* más antiguos (por ejemplo, I.wait, I.waitForVisible) están deprecados en favor de métodos I.waitFor* más explícitos (por ejemplo, I.waitForElement, I.waitForText), promoviendo una lógica de prueba más clara.
    • Los métodos I.grab* ahora devuelven null en lugar de lanzar un error si un elemento no se encuentra, permitiendo un manejo de errores más elegante y lógica condicional en las pruebas.
  • Nuevas Capacidades: Esta versión introduce I.waitForResponse y I.waitForRequest para monitoreo avanzado de red, I.attachFile para cargas de archivos simplificadas, y I.switchToNextTab/I.switchToPreviousTab para escenarios de prueba multi-pestaña más flexibles.
  • Actualización de Configuración: La estructura del archivo de configuración ha sido actualizada; específicamente, la sección plugins se ha movido dentro del objeto config en los archivos codecept.conf.ts o .js.

Impacto para Equipos de QA

Esta actualización proporciona a los equipos de QA un framework más estable y con seguridad de tipos, especialmente beneficioso para proyectos grandes y complejos. El cambio a Playwright como predeterminado se alinea con las tendencias modernas de automatización de navegadores, lo que podría mejorar la velocidad y fiabilidad de la ejecución de pruebas. Los equipos que actualmente utilizan WebDriverIO deberán asignar recursos para migrar sus pruebas existentes a Playwright o WebDriver.