Automatización de Testing con Cypress

·24m 20s

Introducción al Testing con Cypress

Marta Arcones, TechLead y experta en DevOps, explica cómo implementar pruebas end-to-end (E2E) utilizando el framework Cypress en un entorno de e-commerce real.

La Pirámide de Testing

• Se explica la importancia de probar todas las capas de un sistema.
• La pirámide de test establece que debemos cubrir desde la infraestructura (usando LocalStack) y backend (con PyTest y Postman), hasta el frontend (usando Jest para componentes y Cypress para flujos de usuario).

"Cypress nos ayuda a comprobar los flujos de interacción del usuario, que las cosas se pinten bien y todo esto."

Estructura y Configuración del Proyecto

• Cypress utiliza una estructura minimalista: configuración, assets (tests), fixtures y funciones de soporte.
• Se destaca el uso de la versión 10+, que incluye mejoras significativas en la experiencia de desarrollo.
• La configuración es clave: se pueden definir reintentos (vital para tests E2E, que son frágiles por naturaleza), grabado de videos y timeouts personalizados.

Buenas Prácticas en Testing

• Modularidad: Numerar los tests para determinar el orden de ejecución.
• Fixtures: Utilizar archivos JSON para datos estáticos, permitiendo separar la lógica de los datos de prueba.
• Soporte: Crear funciones personalizadas en la carpeta support para mejorar la legibilidad y reutilización (por ejemplo, funciones para crear usuarios o manejar tokens de autenticación).
• Interactividad: Gracias a que Cypress corre sobre Electron, ofrece una interfaz gráfica potente que permite inspeccionar el DOM, ver capturas de pantalla y "viajar en el tiempo" (time travel) para depurar errores.

Modos de Ejecución

• Modo Open: Ideal para entornos de desarrollo local por su interfaz interactiva.
• Modo Run: Diseñado para entornos de integración y despliegue continuo (Jenkins, GitHub Actions, etc.), permitiendo una ejecución automatizada y eficiente.

Temas

Capítulos

7 capítulos
midulive
Chat con IA — respuestas basadas en los episodios