No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Tipos de espera

12/23
Recursos

Aportes 1

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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])

    })