Introducción al curso

1

Cypress Avanzado: Pruebas Automatizadas con Docker y Jenkins

2

Configuración Inicial de Cypress Avanzado en Node.js

Cookies y Localstorage

3

Gestión de Cookies en Cypress: Métodos Tradicionales y Experimentales

4

Automatización de Pruebas con Local Storage y Cypress

Emulando dispositivos

5

Emulación de Dispositivos Móviles con Cypress

Instalando plugins

6

Uso de Plugins y XPath en Cypress para Automatización Web

Flaky tests

7

Evitar pruebas inestables con Cypress: uso de retries y buenas prácticas

8

Interceptación de solicitudes de red con Cypress

9

Simulación de Errores de Red con Cypress Intercept

Buenas prácticas

10

Implementación de Page Object Model en Cypress

11

Comandos Personalizados en Cypress: Alternativa al Page Object Model

12

Variables de Entorno: Uso y Configuración en Cypress

13

Configuración de Variables de Entorno en Cypress

Visual testing

14

Implementación de Visual Testing con Cypress y Plugins

Seguridad

15

Seguridad en Cypress: Navegación y Pruebas entre Dominios

16

Manipulación de pestañas en Cypress: eliminar atributo target

17

Visitar múltiples dominios y compartir datos en Cypress 10

18

Creación de plugins en Cypress para compartir datos entre tests

Data Driven Test

19

Uso de Fixtures en Pruebas Automatizadas con Cypress

BDD

20

Configuración de Cucumber y Cypress para pruebas BDD

21

Reutilización de Step Definitions en Gherkin y Cucumber

22

Pruebas Automatizadas con Gherkin: Escenarios Outline y Tags

Reportes

23

Configuración y uso de múltiples reportes con Cypress

24

Configuración de Allure con Cypress y uso de plugins

Docker

25

Uso de Docker y Cypress para Pruebas Automatizadas

Dashboard

26

Conexión y uso del Dashboard de Cypress para pruebas automatizadas

27

Alternativa gratuita al dashboard de Cypress: instalación y uso

CI/CD

28

Integración de Jenkins y Cypress para Pruebas en Paralelo

Final

29

Instalación y uso del plugin Cypress Escenario Recorder

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Cypress Avanzado

Curso de Cypress Avanzado

Javier Fuentes Mora

Javier Fuentes Mora

Visitar múltiples dominios y compartir datos en Cypress 10

17/29
Recursos

¿Cómo visitar múltiples dominios en la misma prueba?

Navegar por diferentes dominios dentro de una misma prueba es una herramienta avanzada que no todos conocen. Involucra ciertos pasos críticos y habilidades, que pueden marcar la diferencia en la ejecución exitosa de tests automatizados. Comenzamos por realizar ciertas configuraciones y el uso de una función experimental en Cypress. Exploramos cómo compartir variables de entorno para manejar datos entre visitas a diferentes dominios en un único test. Ahora, entremos en detalle:

¿Cómo iniciar el test con Cypress?

Primero, asegurémonos de estar usando la versión correcta de Cypress, ya que algunas funcionalidades discutidas pueden estar disponibles a partir de la versión 10. Empezamos escribiendo la estructura básica del test y visitando nuestro dominio principal.

cy.visit('https://mi-dominio-principal.com');
// Asegúrate de adaptar esta URL a tus necesidades

¿Cómo compartimos información entre dominios?

A menudo es necesario capturar información de un dominio y reutilizarla en otro. Aunque Cypress no recomienda algunas prácticas, podemos experimentar con ellas. Aquí, vamos a obtener un texto de un h1 y utilizarlo en otro dominio.

cy.get('h1').first().invoke('text').then((texto) => {
    // Aquí guardamos el texto para usarlo más adelante
});

¿Qué es ci.origin y cómo se utiliza?

La función ci.origin es experimental y permite navegar entre distintos orígenes de forma más segura. Si la combinamos con el manejo de sesiones, se convierte en una potente herramienta para ejecutar pruebas complejas.

cy.origin('https://otro-dominio.com', {args: {texto}}, ({texto}) => {
    cy.log(texto); // Aquí imprimimos el texto para verificar el flujo
});

Tener cuidado con variables indefinidas es crucial, porque Cypress ejecuta de forma asíncrona, lo cual puede resultar en valores inesperados.

¿Cómo garantizamos que las pruebas sean consistentes?

Al implementar esta técnica, pueden surgir inconsistencias. Para superarlas:

  • Utilizamos variables de entorno para almacenar y recuperar datos de manera confiable a través de cypress.env.
  • Consideramos el uso de afterEach para limpiar variables después de cada test.
Cypress.env('textito', texto);
cy.log(Cypress.env('textito'));  // Mostrar variable de entorno

Conceptos a tener en cuenta

  • Siempre debemos regresar al dominio inicial después de usar ci.origin para prevenir errores.
  • El manejo adecuado de variables de entorno es clave para evitar invocaciones incorrectas.

Recomendaciones finales

Aunque estas técnicas avanzadas pueden parecer complejas al principio, su dominio puede mejorar la eficiencia y flexibilidad de nuestros tests. Recuerda que la práctica hace al maestro. No olvides explorar la documentación oficial de Cypress y estar al tanto de futuras actualizaciones que puedan simplificar estos procesos.

Aprender requiere tiempo y dedicación. No te preocupes si no dominas todo de inmediato; lo importante es continuar explorando y practicando. Nos encontramos en el siguiente módulo con más consejos y trucos para optimizar y robustecer tus pruebas automatizadas. ¡Sigue adelante, el camino del aprendizaje continúa!

Aportes 1

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

me interesaba bastante guardar un valor de un dominio ‘x’ y compararlo con un valor de un dominio ‘y’, probare con las variables de entorno. Gracias