postman接口参数化设置

场景:
1:同一个接口,用不同的数据做多情形下的验证
2:同一个接口,根据传参的不同而反馈不同的结果
3:在一个接口中,需要引用到上一个接口的数据,比如常见的登录Token
前言:
平时我在做接口测试的过程中,经常会遇到上述的测试场景,这时如果还每次用手动更新Value的傻瓜式操作是不可取的。尤其是在数据量庞大,测试场景多的情况下,会严重影响工作的进度。而postman的参数化就能很好的解决这些问题。
下面,我将以我日常的工作案例为模板对postman的接口参数化做下讲解,如有不够严谨或错误的地方还请指出。

一、 单个数据参数化
动态实现将登录接口的返回值Token,作为其他接口的传参。这样就无须每次Token值变化后都要重新在其他接口做修改。
1.登录接口,获取Token值
postman接口参数化设置_第1张图片

2.在Tests里面设置usertoken环境变量

//把json字符串转化为对象
var data=JSON.parse(responseBody);
//获取data对象的utoken值。我的Token值是封装在Context中,所以,如果直接用data.UserToken是无法获取到值的,所以要根据你自己的来配置
var UserToken=data.Context.UserToken;
//设置成全局变量
pm.globals.set("UserToken", UserToken);

postman接口参数化设置_第2张图片

3.确认Token值的参数化是否设置成功
如下图,如果每一次对登录接口点击send,在右上角的眼睛中看到变量UserToken值都能实时变化就证明参数化配置成功了
postman接口参数化设置_第3张图片

4.在其他接口中使用参数UserToken
变量的格式:{{变量名}}
使用:直接在输入{, 就会显示当前接口下能用的变量
postman接口参数化设置_第4张图片
或者如下图用JSON的形式:"{{变量名}}",也可以直接引用到登录中设置的全局变量:UserToken
postman接口参数化设置_第5张图片

二、 批量参数化
测试过的一个功能是多个接口共用同一个请求地址,但根据传参card值的不同来返回不同的数据;针对这种场景我会用postman的批量参数化来处理。

  1. 新建txt文件(此处命名为data.txt),使用notepad++编辑,第一行写下参数名,第二行开始,逐行写下参数各值,编码格式设置为UTF-8
    postman接口参数化设置_第6张图片

  2. 请求中对应位置替换参数变量:请求参数中用{{参数名}}替换,代码中通过:data.参数名来进行替换,注意这里的变量名要和txt文档中的变量名一致
    postman接口参数化设置_第7张图片

  3. 设置断言,将返回的body打印出来

//响应正常
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
//获取body
var body=responseBody;
//打印
tests[body]=true;

postman接口参数化设置_第8张图片

  1. 选中集合Collection->点击Run->然后选择需要批量运行的接口->选择“Choose files”,从文件选择区加载数据文件,通过点击Data File Type选择文件类型,点击Preview来预览数据,设置对应迭代次数,每次迭代都将使用你的数据文件中的一行,如果迭代次数超过数据文件中的行数,将重复执行最后一行
    postman接口参数化设置_第9张图片

  2. 点击运行就可以得到结果
    postman接口参数化设置_第10张图片
    postman接口参数化设置_第11张图片

你可能感兴趣的:(测试,接口测试,postman,测试工具)