Evite el uso de cy.wait () para esperar a que se cargue una página debido a una solicitud de obtención cancelada cypress

Estoy ejecutando una prueba de cypress que requiere una página para cargar antes de hacer clic en un elemento e iniciar sesión, pero por alguna razón, una solicitud GET fallida (y abortada) está causando que la página tarde un tiempo en cargarse y finalmente se agote, a menos que agregue un cy.wait (6000) antes de la llamada cy.click (). Necesito esperar de alguna manera a que la página se cargue sin usar un cy.wait (). ¿Cómo puedo hacer esto, dado que no puedo arreglar la solicitud GET abortada?

introduzca la descripción de la imagen aquí

cy.visit(loginUrl) cy.url().should('contain', '#/loginPortal') cy.wait(6000) //Allows page to load before trying to log in, needs to be removed cy.contains('ButtonText').click() 

Puede hacer que Cypress espere cualquier llamada XHR específica, antes de hacer valer. Cuánto tiempo espera está definido por la configuración de responseTimeout .

 cy.server(); cy.route('**/api/getData').as('getData'); cy.visit('/home'); cy.wait('@getData'); cy.contains('ButtonText').click() 

Mejores prácticas de ciprés: espera innecesaria.

Cypress docs on wait Alias.

Intereting Posts