postman断言状态码
时间: 2025-05-18 21:11:03 浏览: 28
### Postman 中为 HTTP 状态码添加断言的方法
在 Postman 中,可以通过编写脚本来实现对 HTTP 响应状态码的断言。以下是具体方法以及一个完整的示例:
#### 示例代码
以下是一段用于验证响应状态码是否为 `200` 的 Postman 脚本:
```javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
```
上述代码的作用如下:
- 使用 `pm.test()` 方法定义了一个测试用例[^1]。
- 测试用例的第一个参数 `"Status code is 200"` 是对该测试的描述。
- 第二个参数是一个匿名函数,在其中执行具体的断言逻辑。
- `pm.response.to.have.status(200)` 表达了期望的条件:HTTP 响应的状态码应该是 `200`。
当发送请求并运行此脚本时,Postman 将自动检查实际返回的状态码是否满足预期。如果匹配,则测试成功;否则会报告错误,并指出实际收到的状态码与预期不符[^2]。
#### 更多扩展场景
除了简单的状态码断言外,还可以针对不同的需求定制化断言逻辑。例如:
##### 验证状态码属于某一范围
有时可能希望确认状态码落在某个范围内而非特定值。比如,确保状态码是成功的 (`2xx`) 或重定向的 (`3xx`) 类型之一:
```javascript
pm.test("Response status code should be successful (2xx)", function () {
const statusCode = pm.response.code;
pm.expect(statusCode).to.be.within(200, 299);
});
```
此处利用了 Chai.js 提供的 `.within(start, end)` 方法来判断数值区间[^3]。
##### 动态设置可接受的状态码列表
对于某些 API 接口而言,可能存在多种合法的状态码组合情况。这时可通过数组形式列举所有允许的情况:
```javascript
const acceptableCodes = [200, 201];
pm.test(`Status code matches one of ${acceptableCodes}`, function () {
const actualCode = pm.response.code;
pm.expect(acceptableCodes.includes(actualCode)).to.equal(true);
});
```
以上实例展示了灵活性较高的方式去处理复杂业务规则下的状态码校验问题。
---
问题
阅读全文
相关推荐


















