If the cy.each callback uses Cypress commands and we want to stop the iteration based on the output of those commands, we need to use cy.then + a local closure variable to stop queueing up Cypress commands. The final solution from https://github.com/bahmutov/better-cy... is this:
cy.visit('index.html')
let shouldStop = false
cy.get('tbody button').each(function ($button, k) {
cy.then(function () {
if (shouldStop) {
return
}
console.log('button', k)
cy.wrap($button)
.click()
.parent()
.parent()
.contains('td', /\d/)
.invoke('text')
.then(Number)
.then(function (n) {
if (n === 7) {
shouldStop = true
}
})
})
})
Tip: to visualize the Cypress command chain this video uses https://github.com/bahmutov/cypress-c... plugin and read the blog post https://glebbahmutov.com/blog/better-...
Sur cette page du site, vous pouvez voir la vidéo en ligne Stop cy.each Iteration When Using Cypress Commands Inside The Callback Function durée heure minute seconde en bonne qualité , qui a été Téléchargé par l'utilisateur gleb bahmutov 16 mars 2022, Partagez le lien avec vos amis et connaissances, sur youtube cette vidéo a déjà été regardée 3,207 fois et il a aimé 38 téléspectateurs. Bon visionnage!