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');
});
复制代码

 

posted @   老板娘来碗三鲜粉  阅读(183)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示