postman接口测试笔记-随机数,默认断言方法,监控,参数化等
1、postman接口测试必要条件
请求地址,请求协议,请求方式,请求头,参数
其中请求方式主要Get请求,Post请求
传参格式:表单提交以及请求体提交
2、postman界面介绍
3、获取响应,设置变量
// 获取相应数据json对象 // 使用var关键词,定义一个变量data,用来接收接口返回接口 var data = pm.response.json(); // 从响应数据获取某个值 var all_order = data.result.order_count.all; //设置变量,方便接下来的引用 pm.environment.set("all_order", all_order);
4、tests响应断言的几种方式
pm.test("判断返回码是否为200", function () { pm.response.to.have.status(200); }); pm.test("返回码中是否包含某个字段:软件测试自学/面试/接口/压力/自动化/性能/入门到精通", function () { pm.expect(pm.response.text()).to.include("软件测试自学/面试/接口/压力/自动化/性能/入门到精通"); }); pm.test("order_count_all是否等于4", function () { var jsonData = pm.response.json(); pm.expect(jsonData.result.order_count.all).to.eql(4); }); pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); }); pm.test("返回时间是否小于100ms", function () { pm.expect(pm.response.responseTime).to.be.below(100); }); // 全等于,返回值全部为response_body_string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); pm.test("Successful POST request", function () { pm.expect(pm.response.code).to.be.oneOf([201,202]); }); pm.test("Status code name has string", function () { pm.response.to.have.status("Created"); });
![](https://mmbiz.qpic.cn/mmbiz_png/Xhog4HWHphaECPa3k77Q1gfDq4IRHvPtdvHJzszUicvMZqBsgJKXgbVh7DKYJzKV6THoTPp181ibGmyrXrsKYKzA/640?wx_fmt=png)
5、postman提供的方法
变量相关
Get an environment variable 获取一个环境变量
Get a gloval variable 获取一个全局变量
Get a variable 获取一个变量
Set an environment variable 设置一个环境变量
Set a global variable 设置一个全局变量
Clear an environment variable 清空一个环境变量
Clear a global variable 清空一个全局变量
获取变量:如果在下一个请求中用到上一个请求的返回值,可以使用“设置一个全局变量”将请求的返回值设置为全局变量后,在下一个请求中,使用“获取一个全局变量”取到该值。
清空变量:这里的清空等译删除变量,一个参数使用完成后,需要删除,或者清空值都可以使用该方法。
状态码相关
Status code: Code is 200 判断状态码是否正确;默认判断状态是否为 200, 可修改;
Status code:Successful POST request
判断状态码是否为预期结果之一;比如默认断言状态码是否是 201, 202 中的一个;
Status code:Code name has string
判断状态码描述是否包含字符串,比如是否包含 Created;
响应结果相关断言
Response body: Contains string 响应结果是否包含字符串;
Response body: JSON value check 响应结果如果是 JSON,检查具体的 JSON 值;
Response body: Is equal to a string 响应结果与字符串是否全部匹配;
Response body: Convert XML body to a JSON Object
将 XML 转换成 JSON;
Header 相关
Response headers:Content-Type header check
响应头部中是否包含字段;判断的是属性,不是属性值
响应时间相关
Response time is less than 200ms
响应时间是否少于多少 ms。
6、Postman参数化
https://www.cnblogs.com/shishibuwan/p/11246415.html
支持txt,csv,json,支持多变量,多值
第一行为变量名,英文逗号分割
第二行起,都为变量值,同第一行一样逗号分割
引用方法:
7、postman随机数
都直接可以引用
{{$guid}} 添加一个V4风格guid,字段比较长
{{$timestamp}} 当前时间戳,精确到秒
{{$randomInt}} 添加0-1000的随机整数
8、Monitor监控接口
可以发送运行结果邮件