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.

¿Cómo hacer clic en múltiples botones, un número específico de veces en Cypress?

Intento escribir una prueba donde necesito comprobar si una lista de blogs se renderiza en orden descendente de me gusta para cada blog. Para esto, he creado 3 blogs de prueba en Cypress y quiero darles un número específico de me gusta (3 – 1 – 2) antes de comprobar si están ordenados en orden descendente de me gusta. Sin embargo, el código a continuación devuelve 4 – 2 – 2 me gusta en lugar de los 3 – 1 – 2 previstos:

it('los blogs están ordenados en orden descendente de me gusta', function() {

cy.createBlog({
    title: 'Las ventajas de ser invisible',
    author: 'Emma Watson',
    url: 'www.blank.org',
})

cy.createBlog({
    title: 'La vida de Pi',
    author: 'Yann Martel',
    url: 'www.pi.com',
})

cy.createBlog({
    title: 'Inmersión profunda en el mundo de los contenedores',
    author: 'GDG',
    url: 'www.gdg.com',
})

cy.wait(750)

cy.contains('Las ventajas de ser invisible')
.contains('ver').click({ multiple: true })
.get('.blog-like-button').click({ multiple: true })

cy.wait(750)

cy.contains('Las ventajas de ser invisible')
.get('.blog-like-button').click({ multiple: true })

cy.wait(750)

cy.contains('Las ventajas de ser invisible')
.get('.blog-like-button').click({ multiple: true })
cy.wait(750)

cy.contains('La vida de Pi')
.contains('ver').click({ multiple: true })
.get('.blog-like-button').click({ multiple: true })
cy.wait(750)

cy.contains('Inmersión profunda en el mundo de los contenedores')
.contains('ver').click({ multiple: true })
.get('.blog-like-button').click({multiple: true})
cy.wait(750)

cy.contains('Inmersión profunda en el mundo de los contenedores')
.get('.blog-like-button').click({ multiple: true })
cy.wait(750)

cy.reload()


})

El resultado incorrecto en Cypress se ve así:
imagen de la salida del código anterior en Cypress

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás haciendo clic en el botón de ‘Me gusta’ varias veces para cada blog. Para obtener la salida deseada de 3 – 1 – 2 me gusta, deberías hacer clic en el botón de ‘Me gusta’ solo una vez para cada blog. El código debería verse así:

    it('Los blogs se ordenan en orden descendente por me gusta', function() {
    
        cy.createBlog({
            title: 'The Perks of Being a Wallflower',
            author: 'Emma Watson',
            url: 'www.blank.org',
        })
    
        cy.createBlog({
            title: 'The Life of Pi',
            author: 'Yann Martel',
            url: 'www.pi.com',
        })
    
        cy.createBlog({
            title: 'Deep Dive into the World of Containers',
            author: 'GDG',
            url: 'www.gdg.com',
        })
    
        cy.wait(750)
    
        cy.contains('The Perks of Being a Wallflower')
        .contains('ver').click({ multiple: true })
        .get('.blog-like-button').click({ multiple: true })
        cy.wait(750)
    
        cy.contains('The Life of Pi')
        .contains('ver').click({ multiple: true })
        .get('.blog-like-button').click({ multiple: true })
        cy.wait(750)
    
        cy.contains('Deep Dive into the World of Containers')
        .contains('ver').click({ multiple: true })
        .get('.blog-like-button').click({multiple: true})
        cy.wait(750)
    
        cy.reload()
    })
    

    Esto debería darte la salida deseada de 3 – 1 – 2 me gusta.

Comments are closed.