Postman的七种断言方法+超时设置!

超时的设置
Settings->General->Request Timeout in ms(0 for infinity):设置请求超时的时间,默认为0

1.postman断言介绍

postman在发送请求后,需要对返回的结果做判断,验证是否符合预期,如状态码、响应头、响应正文等信息进行断言操作,在设置时会给定一个预期结果,在发送请求后会得到一个实际如果,如果两者结果一致,则认为是成功的(PASS),否则则是失败的(Fail),这种操作就叫做断言。断言主要是在Test操作框内进行设置,使用JavaScript语言编写,断言的结果在下方响应内容的TestResult

2.状态码断言

说明: 对响应结果中的状态码进行验证,用于判断响应的状态码是否符合预期

(1)实例1:设置预期code=200,实际结果200(PASS)

复制代码
tests["status code is 200"] = responseCode.code == 200;

(2)实例2:设置**(2)实例2:预期code=404,实际结果200 (FAIL)**

复制代码
tests["status code is 404"] = responseCode.code == 404;
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

3.响应正文断言-包含

说明: 对响应结果中的响应正文进行验证,判断返回的响应正文是否包含指定的字符串(ps:大小写是敏感的)

实例1:设置返回包含helloworld,结果满足(PASS)

复制代码
tests["Body matches"] =responseBody.has("helloworld");

4.响应正文断言-json字段

说明: 对响应结果中的响应的json结构中的字段进行检查,看是否符合预期

(1)实例1:检查返回结果体 data - name 的json值是否为helloworld,符合预期(PASS)

复制代码
pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data.name).to.eql("helloworld");
});

(2)实例2:检查返回结果体 code的json值是否为200,不符合预期(FAIL)

|---------|------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 | pm.test(``"Your test name"``, function () { ``var jsonData = pm.response.json(); ``pm.expect(jsonData.code).to.eql(200); }); |

5.响应头断言

说明:对响应头部中的值(header)进行判断,是否包含对应的属性。

(1)实例1:检查header中是否包含Content-Encoding,符合预期(PASS)

复制代码
pm.test("Content-Encoding is present", function () {
pm.response.to.have.header("Content-Encoding");
});

(2)实例2:检查header中是否包含Content-Type,不符合预期(FAIL)

复制代码
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});

6.响应时间断言

说明:验证响应结果返回的时间(responseTime)是否在指定范围,小于对应的时间(ms)则符合预期

(1)实例1:检测接口的响应时间小于200ms,符合预期(PASS)

复制代码
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});

(2)实例2:检测接口的响应时间小于10ms,不符合预期(FAIL)

复制代码
pm.test("Response time is less than 10ms", function () {
pm.expect(pm.response.responseTime).to.be.below(10);
});

7.环境变量的断言

说明:使用这个断言的前提是postman中已经设置了环境变量,用于校验接口内的使用到的环境变量值的正确性

ps:环境变量在Pre-requestScript与Tests组件内都可以进行设置

(1)实例1:检测环境变量variable_key的值是否为hello,符合预期(PASS)

复制代码
pm.environment.set("variable_key", "hello");//设置环境变量及变量值在Pre-requestScript
复制代码
var data = pm.environment.get("variable_key");//获取环境变量
tests["检查环境变量值variable_key值是否为hello"] = data== "hello";

(2)实例2:检测环境变量time的值是否为2022-10-08,不符合预期(FAIL)

复制代码
pm.environment.set("muber", 100);//设置环境变量及变量值
var number = pm.environment.get("muber");//获取环境变量
tests["检查环境变量值muber值是否为200"] = number== 200;

END今天的分享就到此结束了!点赞关注不迷路!

相关推荐
上海_彭彭2 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
测试19983 小时前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
代码欢乐豆5 小时前
数据采集之selenium模拟登录
python·selenium·测试工具
sszmvb12347 小时前
测试开发 | 电商业务性能测试: Jmeter 参数化功能实现注册登录的数据驱动
jmeter·面试·职场和发展
测试杂货铺7 小时前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
测试界萧萧9 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
小码哥说测试9 小时前
接口测试用例设计的关键步骤与技巧解析!
自动化测试·测试工具·jmeter·职场和发展·测试用例·接口测试·postman
霍格沃兹测试开发学社测试人社区9 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
小钱c712 小时前
Mac下安装Apache JMeter并启动
jmeter·macos·apache
古人诚不我欺15 小时前
jmeter常用配置元件介绍总结之函数助手
jmeter