Postman 自动化测试脚本断言大全

目录

一、基础断言(状态码、响应类型等)

二、响应体结构验证(JSON 字段检查)

三、字段值断言(业务逻辑验证)

四、响应数据提取 & 链式请求

五、进阶断言(组合逻辑 & 动态校验)

测试报告中输出自定义日志

总结与建议(实战技巧)


从基础到高级一共分为 5 大类:状态码、响应体、字段值、性能、链式依赖,覆盖 95% 的实际测试场景。


一、基础断言(状态码、响应类型等)

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

//  2. 状态码属于 2xx 成功范围
pm.test("状态码应为 2xx", function () {
  pm.expect(pm.response.code).to.be.within(200, 299);
});

//  3. Content-Type 应为 JSON
pm.test("响应类型应为 JSON", function () {
  pm.response.to.have.header("Content-Type");
  pm.expect(pm.response.headers.get("Content-Type")).to.include("application/json");
});

//  4. 响应时间应小于 500ms
pm.test("响应时间应小于 500ms", function () {
  pm.expect(pm.response.responseTime).to.be.below(500);
});

用途:快速判断接口是否正常响应、性能是否达标。


二、响应体结构验证(JSON 字段检查)

//  5. 响应体中必须包含某字段
pm.test("响应体包含字段 'data'", function () {
  const jsonData = pm.response.json();
  pm.expect(jsonData).to.have.property("data");
});

//  6. 嵌套字段不为空
pm.test("用户信息应存在且不为空", function () {
  const jsonData = pm.response.json();
  pm.expect(jsonData.user).to.exist;
  pm.expect(jsonData.user.name).to.be.a("string").and.not.empty;
});

//  7. 数组长度验证
pm.test("返回的列表至少有 1 条数据", function () {
  const jsonData = pm.response.json();
  pm.expect(jsonData.list).to.be.an("array").that.is.not.empty;
});

//  8. 校验返回数据类型
pm.test("价格字段应为数字类型", function () {
  const jsonData = pm.response.json();
  pm.expect(jsonData.price).to.be.a("number");
});

用途:确保返回数据结构正确,防止后端字段丢失或类型错误。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

34号树洞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值