Stop cy.each Iteration When Using Cypress Commands Inside The Callback Function

Veröffentlicht am: 16 März 2022
auf dem Kanal: gleb bahmutov
3,207
38

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-...


Auf dieser Seite können Sie das Online-Video Stop cy.each Iteration When Using Cypress Commands Inside The Callback Function mit der Dauer stunde minuten sekunde in guter Qualität ansehen, das der Benutzer gleb bahmutov 16 März 2022 hochgeladen hat, den Link mit Freunden und Bekannten teilen, dieses Video wurde auf Youtube bereits 3,207 Mal angesehen und es wurde von 38 den Zuschauern gefallen. Viel Spaß beim Betrachtenden Zuschauern gefallen!