本文主要对接口测试的常用工具PostMan的基础使用,作一个简单的总结
PostMan的下载和安装
1. 下载:https://www.postman.com/downloads/
- 注:下载和安装均无需注册
2. 安装:一键安装即可,界面如下:
3. 汉化
汉化包链接:https://share.weiyun.com/SvbUaXnT
密码:8mvqek
用法:直接解压文件,将解压后的文件复制到postman安装目录下的resources文件夹下;重启软件即可
汉化结果如下:
动态关联
1. 创建Collection
点击左上角新建,选择Collection选项卡;
输入Collection名称和描述信息(可选),点击创建即可;
创建结果如下:
注:由于后面对PostMan进行汉化了,所以后面的界面和语言都变为了中文,请悉知!
2. 创建Request
输入请求名称和描述(可选),选择对应的Collection文件夹,保存即可;
创建的请求显示在左侧列表,对应的集合中:
3. 选择一个被测的API(接口),一般我们做训练时都选择第三方网站的API,这里笔者选择的是一个名叫“作文大全”的API;
附上接口地址:https://www.juhe.cn/docs/api/id/187
其API原理是:
- 传入一个id的值选择作文查询的类型(1为年级,2为题材,3为字数,4为等级),查询出对应类型下的全部数据;
- 在数据里随机获取一个type_id,此时确定了类型和type_id后,即可获取符合对应条件的作文的全部信息
- 对应条件的作文信息里包含了作文id,随机获取一个作文id,通过作文id即可查找到对应的作文
其中我们重点需要关注的是API的接口地址、数据返回格式、请求方式和参数说明;
回到我们创建的请求,根据上面的接口填写对应的数据,在此之前我们先创建环境变量:
注:由于某些字段很长并且很常用,我们引入环境变量,用于记录频繁使用或者频繁变更的变量;
填写变量的对应数据:
我们暂时添加这么一些环境变量:
使用方法如下(其中键key的值也是使用这种原理,不过是API提供的网站生成的(相当于激活码类似的东西),键id的值预请求脚本生成的):
- 第一步:确定随机id、type和tid;预请求脚本如下,其目的是获取键id的值:
//floor()向下取整函数;radom() * a,表示取0-a的随机数
var radom = Math.floor(Math.random() * 4);
//定义一个数组
var Num = [1,2,3,4];
//随机取一个1-4的整数赋值给字段id
pm.globals.set("id",Num[radom]);
测试脚本如下(其中type用于下一个请求的键的值,tid为键对应的value值):
//创建一个json对象,用于获取json格式的数据
jsonData = pm.response.json();
//获取josn数据里的result的长度
var length = jsonData.result.length;
//随机获取0-length间的一个整数
radom_len = Math.floor(Math.random()*length);
//根据传入的id值获取对应type的值
switch(pm.globals.get("id")){
case 1:pm.globals.set("type","gradeId");
//设置type对应的tid的值为全局环境变量
pm.globals.set("tid",jsonData.result[radom_len].id);break;
case 2:pm.globals.set("type","typeId");
pm.globals.set("tid",jsonData.result[radom_len].id);break;
case 3:pm.globals.set("type","wordId");
pm.globals.set("tid",jsonData.result[radom_len].id);break;
case 4:pm.globals.set("type","level");
pm.globals.set("tid",jsonData.result[radom_len].id);break;
}
选择测试环境为刚才添加的“作文接口Test”环境,之后点击发送;
在下方的中下方的响应框显示获取的数据(一般为json格式):
2. 根据获取的type、tid获取作文id(zuoid);参数设置如下:
测试脚本代码如下,目的是为了获取到作文id(zuoid):
//创建json对象
var jsonData = pm.response.json();
//获取list长度,用于随机
var length = jsonData.result.list.length;
var radom_len = Math.floor(Math.random()*length);
//随机选取一个list里的数据的id,即作文id,将其设置为全局变量
pm.globals.set("zuoid",jsonData.result.list[radom_len].id);
发送后的响应结果如下:
3. 根据上一个请求获取并设置的作文id(zuoid)查找对应的作文:
点击发送,其响应结果如下:
到这里基本就完成了简单的动态关联测试过程,下面总结一下总体流程:
就先到这儿,后续学习的成果再分享;