如何在Cypress中对cy.request的响应体进行断言?
解决Cypress接口响应体断言问题
你现有代码里的cy.request参数格式有两处问题,先修正再添加断言:
- 请求头格式错误:应该用
headers字段,值为键值对对象,而非字符串 - 请求体传递错误:curl里是直接传字符串"Hello World",你原来的代码把body写成了包含
body和header的对象,这和curl的请求逻辑不一致
修正并添加断言后的完整代码如下:
it('验证接口响应体', () => { cy.request({ method: 'POST', url: 'localhost:8080', headers: { 'Content-Type': 'application/json' }, body: 'Hello World' // 和curl的-d参数保持一致,传递字符串请求体 }).then((response) => { // 断言响应体为HELLO WORLD expect(response.body).to.equal('HELLO WORLD') }) })
代码说明:
- 改用
cy.request的配置对象写法,参数结构更清晰规范 headers字段正确设置请求头的键值对格式body直接传递字符串,和curl的请求体保持一致- 通过
.then()获取响应对象,使用Chai断言库的expect语法验证响应体内容
内容的提问来源于stack exchange,提问作者stein korsveien
相关产品推荐
相关产品推荐

