出于两点原因(目前自己遇到的两点,之后遇到其他情况,再维护)
1:一个接口的请求结果,需要在另一个接口中调用(关于顺序的问题,通过程序中拖拽位置即可实现)
2:随机数
有疑问的加V:zx1187463903
响应结果调用参数化
1:在Tests中,获取响应结果,然后将所需参数设置为环境变量参数或者全局变量。
var data = JSON.parse(responseBody);
var auth=data.auth;
var auth2=data.auth2;
pm.environment.set("auth", data.auth); //设置环境变量
pm.globals.set("auth2",auth2); //设置全局变量
请求中,调用方式如下:{{变量名}}
断言参数化
有些参数,我们加在了环境变量中,那么如果需要在接口响应中判断,传入的数据和返回的数据是否一致,那么如何在Tests中,使用参数呢?
首先需要先声明一个变量来获取目标值,
var mobile=pm.environment.get("username");
然后判断,返回的值与环境变量的值是否一致。
pm.expect(jsonData["basic"]["mobile"]).to.eql(mobile);
随机数
我也是通过设置成环境变量的方式来添加随机数的,注意是在Pre-request Script中设置。
pm.environment.set("phonenumber", _.random(10000000000, 11999999999))
调用的时候同理,就不再赘述。
这里可以查看对应的变量值。
上面两个变量的设置,一个是在Pre-request Script中设置,一个是在Tests中设置,前一个主要是设置请求中需要用的参数,后者则是对reponse值进行抓取。
如果你也搞定了,开心的同时请小编喝个咖啡也极好的呀。