Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
378 views
in Technique[技术] by (71.8m points)

user interface - Cypress- Wait till element changes status

I have some UI tests using Cypress, where there is an span element (#done-status) which initially has value '', followed by 'In Progress' and then 'Complete'. After it changes to 'Complete', I want to assert the value of another element (#failures) to be 0. The state change from empty string to In Progress and to Complete takes some time depending on some execution. How can I wait till it changes it's status. I tried random waits but since the element is already on the DOM, it doesn't wait for the timeout and it fails. Something like this :

it('should verify if the tests passed', () => {

    cy.get('#done-status')
        .should('have.value', '');

    cy.get('#done-status', { timeout: 10000 })
        .should('have.value', 'In Progress')

    cy.get('#done-status', { timeout: 300000 })
        .should('have.value', 'Complete');

    cy.get('.failures')
        .should('have.value', 0);

});

Is there a way so that it can wait till the state changes and at the end verify the number of failures.

Thanks

question from:https://stackoverflow.com/questions/65833819/cypress-wait-till-element-changes-status

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...