Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Este curso está dirigido a profesionales de QA y desarrollo que ya dominan los fundamentos de Cypress y necesitan llevar sus suites de tests E2E a un nivel de madurez profesional. A lo largo de las 8 horas, el participante aprenderá a estructurar sus pruebas mediante patrones de diseño como Page Objects y comandos personalizados, a controlar el comportamiento de las APIs con interceptores de red, y a gestionar múltiples entornos a través de la configuración avanzada de Cypress. Asimismo, adquirirá criterio para diagnosticar y corregir tests inestables tanto en ejecución local como en modo headless, y consolidará todo ello integrando la suite en un pipeline CI/CD con reporte automático de resultados. Al finalizar, el participante será capaz de entregar una suite E2E mantenible, estable y lista para producción dentro de un flujo de integración continua real.
cypress.config.js para gestionar variables de entorno diferenciadas entre los entornos de desarrollo y staging, garantizando la portabilidad de la suite.cy.intercept() que controlen respuestas de API y permitan validar el comportamiento de la UI ante distintos escenarios de datos y error.Bloque 1 — Arquitectura y patrones de organización (2 h)
Este bloque sienta las bases del diseño sostenible de suites E2E. Se analiza el patrón Page Object como mecanismo de separación entre la lógica de interacción con la UI y la lógica de test, y se estudia cuándo resulta preferible frente a un enfoque basado exclusivamente en comandos personalizados. A continuación se profundiza en Cypress.Commands.add para encapsular flujos repetitivos —especialmente los de autenticación y preparación de estado—, reduciendo la duplicación y facilitando el mantenimiento. El bloque culmina con la construcción de una suite que cubre un flujo crítico de usuario aplicando alguno de los dos patrones trabajados.
Bloque 2 — Control de red y gestión de datos de test (2 h)
El foco de este bloque es el dominio de cy.intercept() como herramienta central para desacoplar los tests de la disponibilidad real de los servicios backend. Se estudia cómo interceptar, retrasar, modificar o forzar errores en las respuestas de API y cómo formular aserciones sobre las llamadas realizadas por la UI. Paralelamente, se compara el uso de fixtures estáticas —archivos JSON predefinidos— con las respuestas dinámicas generadas en tiempo de ejecución, evaluando las ventajas de cada enfoque según el escenario: tests de regresión estables frente a pruebas exploratorias o de integración ligera.
Bloque 3 — Configuración multi-entorno y gestión de variables (1,5 h)
Este bloque aborda la configuración avanzada de cypress.config.js para que una misma suite pueda ejecutarse contra distintos entornos —desarrollo, staging, producción— sin modificar el código de los tests. Se trabaja con variables de entorno a través de archivos .env, parámetros de línea de comandos y el objeto env de Cypress, estableciendo buenas prácticas para no exponer credenciales en el repositorio y garantizar la reproducibilidad en cualquier máquina.
Bloque 4 — Diagnóstico y estabilización de tests (1,5 h)
La inestabilidad de los tests (flakiness) es uno de los problemas más costosos en una suite E2E madura. Este bloque proporciona un método sistemático para identificar la causa raíz de un test inestable: condiciones de carrera derivadas de animaciones o llamadas asíncronas, selectores frágiles acoplados a clases o posiciones del DOM, y dependencias de estado entre tests. Se aplican las correcciones pertinentes —esperas explícitas con alias, selectores semánticos con data-cy, aislamiento de estado mediante beforeEach— y se valida la solución.
Bloque 5 — Ejecución headless y depuración avanzada (1 h)
Cuando los tests fallan únicamente en CI, la única fuente de información son los artefactos generados por Cypress: logs de consola, capturas de pantalla automáticas y vídeos de ejecución. Este bloque enseña a interpretar cada uno de estos recursos de forma estructurada para localizar el punto exacto de fallo sin necesidad de reproducirlo en local, y establece una estrategia de retención y organización de artefactos coherente con el pipeline.
Bloque 6 — Integración en CI/CD (1 h)
El bloque final conecta todo lo aprendido con el flujo de entrega continua. Se configura un workflow en GitHub Actions —o equivalente— que instala dependencias, lanza la suite en modo headless, publica el reporte de resultados como artefacto del pipeline y notifica el estado al equipo. Se discuten las decisiones de diseño del pipeline: cuándo paralelizar, qué umbrales de fallo activar y cómo gestionar los artefactos de vídeo y captura en el contexto de CI.
Se asume que el participante ha completado el curso CYP01 — Cypress Iniciación o cuenta con experiencia equivalente demostrable. Concretamente, debe saber instalar y configurar Cypress en un proyecto existente, escribir tests básicos con los comandos fundamentales (cy.visit, cy.get, cy.click, cy.type, aserciones con .should), comprender el modelo asíncrono de Cypress y la cadena de comandos, y navegar con soltura por Cypress Studio y la interfaz del test runner interactivo. Sin estos fundamentos, el ritmo del curso resultará excesivo y los ejercicios prácticos no podrán completarse de forma autónoma.