如何在Postman中测试多个可接受的状态码?
验证接口多状态码的Postman测试用例实现
针对你提到的接口会根据时段返回200或400的场景,我们可以轻松调整Postman的测试代码,让它支持验证多个可接受的状态码,这里有两种实用的实现方式:
方法一:使用Postman内置的oneOf断言(最简洁)
直接利用Postman测试语法的内置方法,指定允许的状态码数组即可:
pm.test("Status code is either 200 or 400", function () { pm.response.to.have.status.oneOf([200, 400]); });
这个测试会在响应状态码是200或400时通过,完全满足你的需求。
方法二:手动判断状态码(支持自定义提示)
如果需要更灵活的控制,比如自定义测试失败时的提示信息,可以手动检查状态码是否在允许的列表中:
pm.test("Status code is valid (200 or 400)", function () { const allowedStatuses = [200, 400]; // 使用pm.expect断言 pm.expect(pm.response.code).to.be.oneOf(allowedStatuses); // 或者用数组includes方法+自定义失败提示 // if (!allowedStatuses.includes(pm.response.code)) { // pm.expect.fail(`Expected status code to be 200 or 400, but got ${pm.response.code}`); // } });
这种方式的好处是可以根据需要定制失败时的提示内容,让测试结果更直观。
额外提示
因为你的接口是根据时段返回不同状态码,记得要在对应时段分别运行测试,确保两种状态码的场景都能被覆盖到——比如可以手动在对应时段触发请求,或者用Postman集合运行器设置定时任务来自动验证。
内容的提问来源于stack exchange,提问作者matias90
相关产品推荐
相关产品推荐

