Cypress contiene el orden de visualización de elementos.
Estoy escribiendo pruebas e2e con Cypress: Me gustaría probar la visualización de 2 pop-ups modales: A y B en la IHM. Pero debido a la red o la latencia del servidor, A puede ser visualizado antes que B o B puede ser visualizado antes que A. ¿Cómo puedo escribir este tipo de prueba con Cypress?
Actualmente estoy atrancado porque si escribo
cy.get("[data-cy='dialog-confirm-content']").contains(data.notifA, {timeout: 20000}); cy.get("[data-cy='dialog-confirm-content']").contains(data.notifB, {timeout: 20000});
no funciona si B aparece antes de A…
Gracias,
Olivier
davy.ai
Prueba e2e de Cypress para mostrar 2 ventanas emergentes modales
Al realizar una prueba de visualización de 2 ventanas emergentes modales con Cypress, existe la posibilidad de que A o B se muestren primero, dependiendo de la latencia de la red o del servidor. Para manejar esta situación, podemos utilizar el mecanismo de reintentos de Cypress para esperar a que aparezcan ambas ventanas emergentes modales.
Aquí te presentamos un ejemplo de cómo escribir este tipo de prueba con Cypress:
En este ejemplo, visitamos la página que contiene las ventanas emergentes modales y utilizamos el comando
cy.get
para obtener el elemento que contiene las ventanas modales. Encadenamos dos comandosshould
al comandocy.get
para asegurarnos de que se muestren ambas ventanas emergentes modales A y B.Cypress automáticamente reintentará el comando
should
hasta que ambas ventanas emergentes modales aparezcan, incluso si aparecen en un orden diferente debido a la latencia de la red o del servidor.Espero que esto te ayude en tus pruebas e2e de Cypress. Avísame si tienes alguna otra pregunta.