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
}

测试结果如下:

相关推荐
齐鲁物联网测试中心王工7 小时前
信创产品测试包括哪些内容?有哪些常用的信创测试工具?
测试工具·信创产品测试·信创产品认证·信创产品·信创认证
hunter2062069 小时前
ubuntu调用图形化网络测试工具
网络·测试工具·ubuntu
枣泥馅11 小时前
Netty搭建websocket服务器,postman可以连接,浏览器无法连接
服务器·websocket·postman
十二测试录13 小时前
【自动化测试】—— Appium使用保姆教程
android·经验分享·测试工具·程序人生·adb·appium·自动化
network_tester2 天前
手机网络性能测试仪器介绍
网络·网络协议·tcp/ip·测试工具·信息与通信·信号处理·tcpdump
天堂的恶魔9462 天前
软件测试 ——Postman(Newman的使用)
测试工具·postman
天堂的恶魔9463 天前
软件测试 —— Postman(全局变量和环境变量,请求前置脚本,关联)
测试工具·lua·postman
lichong9513 天前
【Flutter&Dart】MVVM(Model-View-ViewModel)架构模式例子-http版本(30 /100)
android·flutter·http·架构·postman·win·smartapi
moton20173 天前
5步打造完善的物联网IoT测试体系
物联网·测试工具·可用性测试·iot·物联网测试·测试体系
m0_748248774 天前
小白爬虫——selenium入门超详细教程
爬虫·selenium·测试工具