Postman接口关联以及参数化

接口关联:在接口测试中,一个请求依赖另一个请求的结果,例如在添加购物车时,需要依赖登录
接口关联操作步骤:如接口2需要接口1的某个参数(token为例)
1、提取上一个接口(接口1)的响应数据中关联数据(如token值)
(1)使用json提取器,在tests中编写如下代码,提取token值

// json 提取器
console.log(responseBody);  //打印返回结果
var jsdata = JSON.parse(responseBody) //json提取器,把返回的结果转化为json对象
//console.log(jsdata.token); 
pm.globals.set("token",jsdata.token)//取值并设置为全局变量

(2)正则表达式提取器,在tests中编写如下代码,提取token值

//正则表达式提取器 
console.log(responseBody);  //打印返回结果
var data = responseBody.match(new RegExp('"token": "(.*?)"'))  ;  //new RegExp()新建正则表达式
 //console.log(data[1]); //调试看看是不是我们需要的token值
// pm.globals.set("token",data[1]);//取值并设置为全局变量

2、在下一个接口(接口2)的请求中添加引用关联数据(如token值)
(1) 把关联数据设置为全局变量或环境变量
设置全局变量:

// pm.globals.set("variable_key", "variable_value");
pm.globals.set("token",data[1])

设置环境变量

pm.environment.set("variable_key", "variable_value");

全局变量可以在所有的接口请求里面使用,通过{{变量名}}取值;
环境变量可以在当前环境的所有接口请求使用,通过{{变量名}}取值

说明:当只有一个环境时,全局变量和环境变量作用域一样;当环境有多个时,全局变量作用域>环境变量

  • 环境变量的创建:


  • 环境变量的使用


postman内置动态参数和自定义动态参数

1、postman内置动态参数:
{{$timestamp}} 自动生成当前时间的时间戳
{{$randomint}} 自动生成0-1000的随机数(很少用,可能重复)
{{$guid}} 自动生成GUID长字符串随机数
2、自定义动态参数:
在Pre-request Script中编写,可以在请求之前生成动态参数值,例:生成时间戳的,最常用

var times = Data.now(); //获取当前的系统时间
pm.globals.set("times",times)  //设置为全局变量

在发送请求时,使用自定义的参数


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容