我正在寻找一种创建自定义消息而不是标准消息的方法。我所拥有的是这段代码(有点儿混乱):
Cypress.Commands.add('authenticate', {prevSubject: 'optional'}, (_, fixture) => {
return cy.fixture(fixture).then(credentials => {
cy
.apiRequest('scrambled/url/here', {
method: 'post',
authorizationMethod: 'Basic',
token: apiOauthSecret,
data: credentials
})
.then(resp => {
expect(resp.status)
.to
.eq(201, 'Unable to authenticate, login failed')
storeTokenInSession(resp.body)
})
})
})
该代码导致如下错误: https://i.stack.imgur.com/l2j4o.png
如果我修复了代码,这样结果就可以了,如下所示: https://i.stack.imgur.com/Pr1iA.png
如您所见,如果eq()失败而不是eq()成功,则应该显示该消息。
我只想在检查失败的情况下显示消息,但我也希望测试中断并停止。
您是否知道如何使它正常工作?我已经研究过使用cy.log()和此处显示的解决方案。
答案 0 :(得分:1)
您可以使用Cypress.log:
if (resp.status !== 201) {
Cypress.log({
name: 'Authentication'
message: 'failed'
})
}
expect(resp).its('status').eq(201)