[英]How to make response codes 200 and 400 consistent in a single query in Postman test
我目前正在编写登录功能测试。
测试代码
pm.test("status is 200", function() {
pm.expect(pm.response.code).to.eql(200)
})
pm.test("status is 400", function() {
pm.expect(pm.response.code).to.eql(400)
})
预请求脚本
const requestJson = JSON.parse(pm.request.body.raw);
requestJson.email = "test@test.com"
requestJson.password = "testtest"
pm.request.body.raw = JSON.stringify(requestJson)
console.log(requestJson)
请求体
{
email: "string",
password: "pass",
}
如果通过了成功的请求数据,则只有 200 次状态测试通过,如果通过了不正确的请求数据,则只有 400 次状态测试会通过。
是否可以在成功测试之前更改请求数据并在失败测试之前更改请求数据?
如果没有,我是否必须创建两个查询,一个用于成功,一个用于失败?
你究竟想做什么? 目前,您的测试相互矛盾。 响应不能同时具有 200 和 400 状态。 如果要测试,例如状态是 200 还是 400,您可以使用
pm.test("status is 200 or 400 ", function() {
pm.expect(pm.response.code).to.be.oneOf([200, 400]);
})
您还可以根据响应代码执行其他测试
if (pm.response.code == 200) {
pm.test("tests for successful response", function () {
...
})
} else {
pm.test("tests for error response", function () {
...
})
}
但是如果你真的想使用邮递员进行测试,我建议你为成功和错误的请求创建单独的请求......
顺便说一句:不成功的登录应该返回401 Unauthorized而不是 400 Bad Request
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.