Обработка ошибок с использованием блока catch в Cypress - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь обработать ошибку в Cypress, но приложение Cypress выдает ошибку

cy.get('button[name="continue"]',{timeout: 30000})
  .catch((err) => {
    cy.console.log("error caught");
  })

Я получаю ошибку:

TypeError: cy.get (...). Catch не является функцией

1 Ответ

1 голос
/ 27 июня 2019

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()
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...