Postman脚本——断言测试

pm对象提供了测试相关功能:

  • pm.test(testName:String, specFunction:Function):Function:测试函数。
  • pm.expect(assertion:*):Function → Assertion:允许在响应数据上做测试,使用ChaiJS expect BDD语法。

可以使用pm.response.to.have.*和pm.response.to.be.*来构建断言。

示例:

测试状态码:

js 复制代码
pm.test("请求状态码200", function() {
  pm.response.to.have.status(200); 
});
js 复制代码
pm.test("请求状态码200", function() {
  pm.expect(pm.response.code).to.eql(200); 
});

测试响应时间:

js 复制代码
pm.test("请求响应时间少于200ms", () => {
  pm.expect(pm.response.responseTime).to.be.below(200); 
});

是否满足指定条件:

js 复制代码
tests["字符串asdf包含a字符"] = "asdf".includes("a"); //旧的语法(已弃用,不推荐使用)

多断言组合测试:

测试脚本也可以包含多个断言作为单个测试,可以将相关断言组合在一起。如果包含的任一个断言失败,整个测试将失败,所有断言都必须成功,测试才能通过。

js 复制代码
pm.test("The response has all properties", () => {
  const responseJson = pm.response.json(); //将响应体body转换成JSON格式
  pm.expect(responseJson.type).to.eql('vip'); // type等于vip
  pm.expect(responseJson.name).to.be.a('string'); // name值的类型为string类型
  pm.expect(responseJson.id).to.have.lengthof(1); // id的长度为1
}

测试结果如下:

相关推荐
梧桐1687 小时前
14天、31个缺陷、28个测试脚本—用 Claude Code 完成第三方软件测试
人工智能·测试工具
mewowaBc15 小时前
postman使用细则
测试工具·postman·偏差
光影6271 天前
Unittest单元测试基础速记
测试工具·单元测试·json·测试覆盖率
xie881018021 天前
正则里的点号不匹配换行:多行模式的开关
运维·服务器·测试工具
东舟技术3 天前
从人工目检到AI视觉:智能座舱瞬态故障的自动化捕获与溯源
功能测试·测试工具·自动化
小猿A3 天前
【2026最新】Apifox下载、配置、实战教程(附官网安装包)
测试工具
洋不写bug3 天前
HTTP(二):万字解析HTTP交互的请求、响应报文格式
网络协议·http·交互·postman·请求格式·响应格式·restful规范
泽众云测试4 天前
泽众软件与广州华南检验检测中心签约,PerformanceRunner性能测试工具助力第三方测评机构性能检测能力升级
软件测试·测试工具·性能测试
@zulnger4 天前
Charles抓包工具
测试工具
ck0135795 天前
视频添加水印的实践:文字叠加、透明 PNG 与时间区间设置
图像处理·测试工具·音视频·视频