导航:1.postman断言介绍2.状态码断言3.响应正文断言-包含4.响应正文断言-json字段5.响应头断言6.响应时间断言7.环境变量的断言
- - - - - - - - - 分割线 - - - - - - - - - -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;
文章插图
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 = https://www.huyubaike.com/biancheng/pm.response.json();pm.expect(jsonData.data.name).to.eql("helloworld");});
文章插图
(2)实例2:检查返回结果体 code的json值是否为200,不符合预期(FAIL)
pm.test("Your test name", function () {var jsonData = https://www.huyubaike.com/biancheng/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-requestScriptvar data = https://www.huyubaike.com/biancheng/pm.environment.get("variable_key");//获取环境变量tests["检查环境变量值variable_key值是否为hello"] = data=https://www.huyubaike.com/biancheng/="hello";
推荐阅读
- 军棋的四种玩法(二人军棋的摆法和玩法)
- Java实现6种常见排序
- 怎样使用指南针辨方向(用指南针辨别方向有几种方法)
- ZCTF note3:一种新解法
- 怎样申请QQ号—申请QQ号的三种方法(已经有一个qq号了怎么申请qq号)
- 该怎么养兔子(懒人养兔100种方式)
- binlog,redolog,undolog Mysql三种日志的作用和区别
- Jupyter Notebook单元格加宽的方法3种
- 各种邮箱格式(所有电子邮箱的格式)
- 三十六 Java开发学习----SpringBoot三种配置文件解析