es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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

Tags:  ,

Answer

  1. Avatar for 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:

    it('muestra ambas ventanas emergentes modales A y B', () => {
      cy.visit('/página-con-diálogos');
    
      cy.get('[data-cy="dialog-confirm-content"]')
        .should('contain', data.notifA)
        .should('contain', data.notifB);
    });
    

    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 comandos should al comando cy.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.

Comments are closed.