gpt4 book ai didi

cypress - 使用 cypress 中的 catch block 进行错误处理

转载 作者:行者123 更新时间:2023-12-03 22:06:38 25 4
gpt4 key购买 nike

我正在尝试处理 Cypress 中的错误,但 Cypress 应用程序抛出错误

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

我得到的错误:

TypeError: cy.get(...).catch is not a function

最佳答案

tl;博士

Cypress 没有 .catch命令错误消息清楚地说明了这一点。

Cypress 中的异常处理

documentation on error recovery明确指出:

The following code is not valid, you cannot add error handling to Cypress commands. The code is just for demonstration purposes.

cy.get('button').contains('hello')
.catch((err) => {
// oh no the button wasn't found
// (or something else failed)
cy.get('somethingElse').click()
})


他们故意忽略了这一点,并在文档中详细解释了为什么你不能这样做。

如果你真的想要,你可以捕获未捕获的异常,试试 Catalog of Events on this matter 的建议:

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()
})

关于cypress - 使用 cypress 中的 catch block 进行错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com