网站建设刂搜金手指下拉二四,盘锦做网站,网站域名申请流程,苏州建网站需要什么一、断言
在 postman 中我们是在Tests标签中编写断言#xff0c;同时右侧封装了常用的断言#xff0c;当然 Tests 除了可以作为断言#xff0c;还可以当做后置处理器来编写一些后置处理代码#xff0c;经常应用于#xff1a;
【1】获取当前接口的响应#xff0c;传递给…一、断言
在 postman 中我们是在Tests标签中编写断言同时右侧封装了常用的断言当然 Tests 除了可以作为断言还可以当做后置处理器来编写一些后置处理代码经常应用于
【1】获取当前接口的响应传递给下一个接口 【2】控制多个接口间的执行顺序。 二、常见断言方法
1、状态码断言
1判断接口响应的状态码Status code: code is 200
pm.test(Status code is 200, function () {//
Status code is 200是断言名称可以自行修改pm.response.to.have.status(200);
//这里填写的200是预期结果实际结果是请求返回结果
});如果文章内容不太明白的话可以看看这套视频这条视频在b站学习人数超过了1000人
最详细的postman接口测试实战教程_哔哩哔哩_bilibili最详细的postman接口测试实战教程共计129条视频包括1、Postman之接口测试灵魂考问、2、Postman之接口返回数据和JSON详解、3、Postman之接口测试协议等UP主更多精彩视频请关注UP账号。https://www.bilibili.com/video/BV1rh411S7Qp/?spm_id_from333.337.search-card.all.click 2判断接口响应码是否与预期集合中的某个值一致
pm.test(Successful POST request, function () {pm.expect(pm.response.code).to.be.oneOf([201,202]); //检查响应码是否为201或者202
});
3判断状态码名称(也就是状态码后面的描述)是否包含某个字符串Status codecode name has string
pm.test(Status code name has string, function () {pm.response.to.have.status(OK); //断
言响应状态消息包含OK
2、响应内容断言
断言响应体中包含XXX字符串Response body:Contains string
pm.test(Body matches string, function () {pm.expect(pm.response.text()).to.include(string_you_want_to_search);//
pm.response.text()
});
2响应结果如果是json断言响应体(json)中某个键名对应的值Response body : JSON value check
pm.test(Your test name, function () {var jsonData pm.response.json();//
获取响应体以json显示赋值给jsonData .注意该响应体必须返会是的json否则会报错pm.expect(jsonData.value).to.eql(100);
//
获取jsonData中键名为value的值然后和100进行比较
});
3断言响应体等于XXX字符串Response body : is equal to a string
pm.test(Body is correct, function () {pm.response.to.have.body(response_body_string);//
获取响应体等于response_body_string
});
3、响应头断言
1断言响应头包含Response headers:Content-Type header check
1断言响应头包含Response headers:Content-Type header check
pm.test(Content-Type is present, function () {pm.response.to.have.header(Content-Type);
//断言响应头存在Content-Type
});
4、响应速度断言
1判断实际响应时间是否与低于预期时间Response time is less than 200ms
pm.test(Response time is less than 200ms, function () {pm.expect(pm.response.responseTime).to.be.below(200);
});
实例 针对上面的返回结果我们设置断言如下 注意postman获取断言时任何响应都必须转为JsonData 对象。例如我们想获取如下响应信息中键值为 name 的值
{reponse: {person: {name: hai,age: 18}}
}
此时我们应该
//第一步将响应转为 jsonData 对象
jsonData pm.response.json();
//第二步通过 . 获取到我们想要的 age 的值
var age jsonData.reponse.person.age;除了单个接口断言外postman还集合断言和模块断言风别通过点击集合或者模块然后点击Edit进入Test标签进行断言即可如下图
三、常用断言对应的脚本
1.清除一个环境变量 postman.clearEnvironmentVariable(variable_key);
2.断言响应数据中是否存在某个元素 tests[//断言返回的数据中是否存在__pid__这个元素] responseBody.has(pid);
3.断言response等于预期内容 tests[Body is correct] responseBody response_body_string;
4.断言json解析后的key的值等于预期内容 tests[Args key contains argument passed as url parameter] test in responseJSON.args
5.检查response的header信息是否有被测字段 tests[Content-Type is present] postman.getResponseHeader(Content-Type);
6.校验响应数据中返回的数据类型 var jsonData JSON.parse(responseBody);//第一步先转化为json字符串。其中变量(jsonData)可以自行定义...... tests[//data.category.name__valuse的值的类型是不是string] typeof(jsonData.data.category[0].name) string;
7.响应时间判断 tests[Response time is less than 200ms] responseTime 200;
8.设置环境变量 postman.setEnvironmentVariable(variable_key, variable_value);
9.断言状态码 tests[Status code is 200] responseCode.code ! 400;
10.检查响应码name tests[Status code name has string] responseCode.name.has(Created);
11.断言成功的post请求返回码 tests[Successful POST request] responseCode.code 201 || responseCode.code 202; ———————————————— 版权声明本文为CSDN博主「测试小鬼」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/caixiangting/article/details/126185376