Tengo una aplicación, donde aparece una ventana emergente de comentarios en una página al azar; una ventana emergente puede o no aparecer en la página después de cargarla durante casi 3000 ms. Cómo manejar esta ventana emergente en cypress.
Intenté debajo del código:
cy.get("div.QSIFeedbackButton").then(($body)=> { if($body.find('.QSIWebResponsiveDialog-Layout1-SI_0rEzRx2V9yqm1Yq_close-btn > img')){ cy.get('.QSIWebResponsiveDialog-Layout1-SI_0rEzRx2V9yqm1Yq_content').contains('Help us improve our portal!') cy.get('.QSIWebResponsiveDialog-Layout1-SI_0rEzRx2V9yqm1Yq_close-btn > img').click() } else { cy.log('feed back pop up not found') } })Pero este siempre falla en el bloque IF, cuando la ventana emergente no aparece. Quiero ejecutar la prueba correctamente, de modo que incluso si la ventana emergente no aparece, la prueba no debería fallar y debería ir al bloque else. ¿Cómo puedo hacer esto en mi prueba?
Si la ventana emergente desaparece después de un tiempo, use esto:
cy.get('ID emergente aleatorio').should('not.exist')
funciona muy bien, porque verifica si esa ventana emergente existe en el árbol DOM, incluso mejor si puede agregar testid a la ventana emergente