Skip to content

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.haveto.eqlto.be 等匹配器来验证响应的各个方面。如果断言失败,测试将标记为失败,并在 Postman 的测试结果中显示相应的错误信息。