postman常见断言

发布时间 2023-06-07 16:54:31作者: 老板娘来碗三鲜粉

 

在postman中,你可以使用断言(assertion)来验证API的响应是否符合预期。断言可以检查状态码、响应体中的特定字段或数据,并根据预期结果返回成功或失败。

示例:

1、断言状态码

pm.test("状态码应为200", function () {
    pm.response.to.have.status(200);
});

2、断言响应体中的特定字段:

pm.test("响应体应包含特定字段", function () {
    pm.response.to.have.jsonBody('name');
});

3、断言响应体中特定字段的值:

pm.test("特定字段的值应为预期值", function () {
    pm.expect(pm.response.json().name).to.eql("John Doe");
});

4、断言响应体中的数组长度:

pm.test("数组长度应为3", function () {
    pm.expect(pm.response.json().length).to.eql(3);
});

实战示例:

响应数据

{
    "code": 200,
    "data": {
        "id": 156894
    }
}

断言状态码、断言特定字段值、断言返还数据是否存在数据、断言当前字段值内是否有数据

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

var id = pm.response.json().data.id

// 断言 "id" 字段等于= 156894
pm.test("断言id", function () {
    pm.expect(id).to.eql(156894);
});


// 将响应数据解析为 JSON 格式
var jsonData = pm.response.json();

// 断言 "data" 字段存在
pm.test("验证 'data' 字段存在", function() {
  pm.expect(jsonData).to.have.property("data");
});

// 断言 "id" 字段的值为 156894
pm.test("验证 'id' 字段的值为 156894", function() {
  pm.expect(jsonData.data).to.have.property("id").that.equal(156894);
});



// 将响应数据解析为 JSON 格式
var jsonData = pm.response.json();

// 断言 "data" 字段存在
pm.test("验证 'data' 字段存在", function() {
  pm.expect(jsonData).to.have.property("data");
});

// 断言 "id" 字段存在且不为空
pm.test("验证 'id' 字段存在且不为空", function() {
  pm.expect(jsonData.data).to.have.property("id").that.exist.and.to.not.be.null;
});