出现错误时,Cypress 可以给我错误消息吗?
Can Cypress give me an error message when there has been an error?
我的测试用例中有以下片段:
cy.get('item_here').should('not.exist');
当“item_here”确实存在时,cypress 能否给我一条自定义错误消息?
谢谢,
您可以在 .should()
的回调函数中抛出您自己的错误。
cy.get('item_here')
.should(($item) => {
if ($item.length !== 1) {
throw new Error('Item does not exist in DOM')
}
})
您可以将日志消息链接到现有代码,它只会 运行 如果该元素不存在。
cy.get('item_here').should('not.exist')
.then(() => cy.log('no such element found')) // Note; this is an additional log
更改“成功”和“失败”消息很难,因为赛普拉斯喜欢在任何失败或抛出错误时显示红色 AssertionError
块。
你可以使用should()
回调版本,但是请在里面使用expect()
否则你没有重试,
cy.get('item_here').should($el => {
expect($el, 'Cannot be found').to.not.exist // expect causes retry for 4 seconds
Cypress.log({
name: 'Missing',
message: 'Cannot be found'
})
})
我的测试用例中有以下片段:
cy.get('item_here').should('not.exist');
当“item_here”确实存在时,cypress 能否给我一条自定义错误消息?
谢谢,
您可以在 .should()
的回调函数中抛出您自己的错误。
cy.get('item_here')
.should(($item) => {
if ($item.length !== 1) {
throw new Error('Item does not exist in DOM')
}
})
您可以将日志消息链接到现有代码,它只会 运行 如果该元素不存在。
cy.get('item_here').should('not.exist')
.then(() => cy.log('no such element found')) // Note; this is an additional log
更改“成功”和“失败”消息很难,因为赛普拉斯喜欢在任何失败或抛出错误时显示红色 AssertionError
块。
你可以使用should()
回调版本,但是请在里面使用expect()
否则你没有重试,
cy.get('item_here').should($el => {
expect($el, 'Cannot be found').to.not.exist // expect causes retry for 4 seconds
Cypress.log({
name: 'Missing',
message: 'Cannot be found'
})
})