tl; dr
Cypress не имеет команды .catch
, в сообщении об ошибке четко указано, что.
Обработка исключений в Cypress
Документация об устранении ошибок четко гласит:
Следующий код недействителен, вы не можете добавить ошибкуобработка команд Cypress.Код только для демонстрационных целей.
cy.get('button').contains('hello')
.catch((err) => {
// oh no the button wasn't found
// (or something else failed)
cy.get('somethingElse').click()
})
Они намеренно пропустили это, и в документах они подробно объясняют, почему вы не можете это сделать.
Если вы действительно хотите, вы можете поймать необъяснимые исключения, просто попробуйте предложения Каталог событий по этому вопросу :
it('is doing something very important', function (done) {
// this event will automatically be unbound when this
// test ends because it's attached to 'cy'
cy.on('uncaught:exception', (err, runnable) => {
expect(err.message).to.include('something about the error')
// using mocha's async done callback to finish
// this test so we prove that an uncaught exception
// was thrown
done()
// return false to prevent the error from
// failing this test
return false
})
// assume this causes an error
cy.get('button').click()
})