postman常用断言
在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 } }
断言状态码、断言特定字段值、断言返还数据是否存在数据、断言当前字段值内是否有数据、提取id值到环境变量以及全局变量方法、断言xx值要大于多少
// 断言状态码是否200 pm.test("Status code is 200", function () { pm.response.to.have.status(200); });
// 将响应数据解析为 JSON 格式 var jsonData = pm.response.json();
// 断言 "id" 字段的值为 156894 pm.test("验证 'id' 字段的值为 156894", function() { pm.expect(jsonData.data).to.have.property("id").that.equal(156894); });
// 断言 "id" 字段存在且不为空 pm.test("验证 'id' 字段存在且不为空", function() { pm.expect(jsonData.data).to.have.property("id").that.exist.and.to.not.be.null; }); // 提取id值存放到环境变量 pm.environment.set("id",jsonData.data.id) // 提取id值存放到全局变量 pm.globals.set("id",jsonData.data.id)
// 将响应体(response body)转换为JSON对象 var responseBody = JSON.parse(responseBody); // 获取total的值 var total = responseBody.total; // 断言total大于2000 tests["断言总数>2000"] = total > 2000; // 断言"data"字段中是否存在模板 pm.test("模板存在", function () { pm.expect(responseBody.data.templates).to.not.be.empty; pm.expect(JSON.parse(responseBody.data.templates)).to.be.an('array'); });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通