在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; });