使用 cypress 进行 API 测试时,“预期 { Object (message, detail) } 出现 属性 'count' 错误

Getting 'expected { Object (message, detail) } to have property 'count' error in API testing using cypress

我想断言从响应中收到的总计数。

这是我的代码:

cy.request({
        method:'GET',
        url:'https://ibis-qa.droicelabs.us/api/practice/orders/?q=&limit=100',
        failOnStatusCode: false,
        headers:{
            accept: "application/json"
        }
    }).then(Response => {
        let body = JSON.parse(JSON.stringify(Response.body))
        cy.log(body)
        expect(body).has.property('count','27')
   })

这是我遇到的错误

那你就可以直接这样使用断言了。您不需要解析或字符串化。

expect(Response.body).to.have.property('count',27)

您可以从 cypress docs 查看此示例。

请使用

expect(body).has.property('count', 27)

因为值为数字

(见屏幕截图,27 周围没有引号)


您没有得到您认为应该得到的 JSON 回应。

如果在浏览器中转到URL,我得到这个

{"message":"field required","detail":[{"loc":["header","authorization"],"msg":"field required","type":"value_error.missing"}]}

这是错误消息的屏幕截图中显示的部分内容。

这是来自服务器的错误响应,这意味着您的请求不正确。