Comando Wait
📚 Documentación
.
Cypress nos expone un comando para manipular la ejecución secuencial de nuestras pruebas.
.
Con wait
podemos manipular dos oepraciones:
.wait(time)
Timer en milisegundos.wait(alias)
Alias de elementos identificados como.as()
.
Nota.
La mayorÃa de las veces, no deberÃamos expresar de manera arbitraria la espera ✨ Buenas prácticas
.
Como fue visto en sesión, podemos definir un tiempo en milisegundos un bloque de código. Sin embargo, el uso del comando wait
luce más mediante la ejecución en conjunto con formato alias.
.
Por ejemplo, podemos esperar por la resolución de una petición a una página basada por indice y realizar alguna operación de prueba:
cy.intercept('/accounts/*').as('getAccount')
cy.visit('/accounts/123')
cy.wait('@getAccount').then((interception) => {})
O, supongamos que podamos esperar un código de respuesta en especÃfico:
cy.wait('@getAccount').its('response.statusCode').should('eq', 200)
.
Practica
Del sitio de pruebas en la sección de Waiting, tenemos el caso donde automatizamos un formulario que posteriormente, inspeccionamos la respuesta de ejecución con wait
.
it('wait test"', () => {
cy.visit('/commands/waiting')
cy.get('.wait-input1').type('Wait 1000ms after typing')
cy.wait(1000)
cy.get('.wait-input2').type('Wait 1000ms after typing')
cy.wait(1000)
cy.get('.wait-input3').type('Wait 1000ms after typing')
cy.wait(1000)
cy.intercept('GET', '**/comments/*').as('getComment')
cy.get('.network-btn').click()
cy.wait('@getComment').its('response.statusCode').should('be.oneOf', [200, 304])
})
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?