Appearance
Postman 返回值获取
在 Postman 的测试脚本(Tests)中,您可以使用 JavaScript 编写脚本来验证 HTTP 响应的各种方面。以下是一些在 Postman 测试中常用的脚本示例:
1. 验证状态码
确保响应的状态码符合预期。
javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
2. 验证响应体
检查响应体是否包含预期的数据。
javascript
pm.test("Response body contains expected data", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("key", "value");
});
3. 验证响应头
检查响应头是否包含特定的字段和值。
javascript
pm.test("Response headers contain Content-Type", function () {
pm.response.to.have.header("Content-Type");
});
4. 验证响应时间
确保响应时间不超过某个阈值。
javascript
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
5. 验证 JSON 结构
使用 JSON Schema 来验证响应体的结构。
javascript
var schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"}
},
"required": ["name"]
};
pm.test("Response body matches JSON Schema", function () {
var jsonData = pm.response.json();
var result = tv4.validate(jsonData, schema);
pm.expect(result).to.be.true;
});
6. 使用正则表达式验证
检查响应体中是否包含符合正则表达式的字符串。
javascript
pm.test("Response body matches regex", function () {
var responseBody = pm.response.text();
pm.expect(responseBody).to.match(/expected pattern/);
});
7. 验证响应体大小
确保响应体的大小在预期范围内。
javascript
pm.test("Response body size is less than 1KB", function () {
pm.expect(pm.response.code).to.eql(200);
pm.expect(pm.response.body.size()).to.be.below(1024);
});
8. 自定义断言
根据需要编写自定义的断言函数。
javascript
function customAssertion(responseBody) {
// 自定义断言逻辑
// ...
return true; // 或 false,根据断言是否通过
}
pm.test("Custom assertion passes", function () {
var jsonData = pm.response.json();
pm.expect(customAssertion(jsonData)).to.be.true;
});
9. 断言数组长度
验证响应体中的数组是否具有特定长度。
javascript
pm.test("Array length is correct", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.arrayField.length).to.eql(3);
});
在编写测试脚本时,您可以使用 pm.expect()
函数来创建断言,并使用 to.have
、to.eql
、to.be
等匹配器来验证响应的各个方面。如果断言失败,测试将标记为失败,并在 Postman 的测试结果中显示相应的错误信息。