Introducción al curso
Presentación del curso
Instalación de recursos
Cookies y Localstorage
Cookies
Local Storage
Emulando dispositivos
Emulando dispositivos
Instalando plugins
Usando xpaths
Flaky tests
¿Qué son los Flaky Tests?
Interceptando Network Requests
Interceptando request
Buenas prácticas
Patrones de diseño: Page Object Model
Custom commands
Variables de entorno
Cypress.env
Visual testing
Visual testing
Seguridad
Seguridad en Cypress
Navegación entre pestañas del mismo sitio
Navegar entre diferentes dominios en diferentes tests
Navegar entre diferentes dominios en diferentes tests y compartir información entre ambas páginas
Data Driven Test
Cypress fixtures
BDD
Configuración de plugins y steps dinámicos
Shared Step Definitions
Data Driven Test por medio de Scenarios Outline
Reportes
Múltiples reportes
Allure report
Docker
Cypress con docker container
Dashboard
Usando dashboard de Cypress
Alternativas gratuitas al Dashboard de Cypress
CI/CD
Jenkins
Final
Cypress Scenario recorder plugin
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
¡Bienvenido a esta guÃa sobre cómo integrar Cypress con Docker! Si estás buscando mejorar el proceso de pruebas y asegurar un entorno consistente, has llegado al lugar correcto. Este documento te enseñará cómo configurar un archivo Docker para ejecutar Cypress, usando imágenes compatibles y Docker Compose para gestionar reportes de pruebas.
Lo primero es crear nuestro Dockerfile. Este archivo definirá el entorno en el que Cypress va a funcionar. Si eres nuevo en Docker, te recomendamos revisar algún curso introductorio, aunque aquà cubriremos lo básico necesario para integrar Cypress.
El Dockerfile es esencial para crear un contenedor que ejecute nuestras pruebas de Cypress. Esto es lo que necesitas considerar:
Imágenes de Cypress: Utiliza las imágenes proporcionadas por Cypress. Si usas una Mac con procesador M1, asegúrate de usar la versión 16 o superior, ya que ofrece soporte para dicho hardware.
Directorios de trabajo: Definir un directorio de trabajo ayuda a manejar mejor tus archivos dentro del contenedor.
# Usamos la imagen base de Cypress compatible
FROM cypress/base:16
# Crea el directorio de la aplicación
RUN mkdir /app
WORKDIR /app
# Copia todos los archivos al directorio de trabajo, excepto node_modules
COPY . /app
# Ignorar node_modules durante la copia
RUN echo "node_modules" > .dockerignore
# Instalar las dependencias
RUN npm install
# Comando de seguridad para instalar Cypress
RUN npx cypress install
Para asegurar que todos los módulos necesarios están presentes, instalamos algunas librerÃas complementarias que pueden no ser detectadas automáticamente al usar Docker.
# Instalación de librerÃas necesarias
RUN npm install @babel/core @babel/preset-env babel-loader webpack
Para asegurar que Cypress está correctamente configurado, ejecutamos un simple comando que verifica su funcionamiento dentro del contenedor.
npx cypress run --browser chrome
Una vez configurado el Dockerfile y con el contenedor funcionando, es común querer generar reportes que detallen el resultado de las pruebas. Aquà es donde Docker Compose entra en juego, permitiéndonos organizar y extraer estos reportes fácilmente.
El archivo docker-compose.yml
define configuraciones adicionales, como creación de volúmenes, que permiten extraer los reportes generados dentro del contenedor.
version: '3.8'
services:
cypress:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./docker-reports:/app/cypress/reports
Finalmente, ejecuta el siguiente comando en la terminal. Esto levantará el ambiente completo y comenzará a ejecutar las pruebas, generando reportes automáticamente.
docker-compose up
Observa cómo las pruebas se ejecutan y los resultados se guardan en tu sistema local bajo docker-reports
. Este flujo no solo asegura consistencia, sino que también facilita el acceso a los resultados para su revisión.
Siga explorando las capacidades de Docker y Cypress para optimizar aún más su flujo de trabajo. ¿Tienes experiencias usando Docker para pruebas? Comparte tus comentarios y mejora con la comunidad. ¡Continúa aprendiendo y potenciando tus habilidades!
Aportes 3
Preguntas 0
Aquà dejo el paso a paso detallado https://www.notion.so/DOCKER-7f3fa55b1d844b418dcb95cf2ad44fd8?pvs=4
cockerfile
From cypress/base:16
RUN mkdir /app
WORKDIR /app
COPY . /app
RUN npm install --legacy-peer-deps
RUN npm install --save-dev @babel/core @babel/preset-env babel-loader webpack
RUN npx cypress install
RUN $(npm bin)/cypress verify
CMD ["npm", "run", "allure:report"]
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?