postman参数化 接口响应数据获取符合条件的内容参数化给后面的接口使用

 一:主要内容

  • 从响应结果中找到满足条件的key,获取其value,参数化给后面的接口使用

二:参数化获取想要的value值,传给后面的接口使用

有时我们获取的响应数据,需要的那个字段可能在一个数组里面,需要我们提取满足条件的该字段来拿到对应的值,如:

下面一段响应数据,我想拿到员工名称为:自动化初始化员工,这个人的id

 1 {
 2     "result": {
 3         "totalPages": 1,
 4         "totalElements": 3,
 5         "pageNumber": 0,
 6         "pageSize": 100,
 7         "pageOfElements": 3,
 8         "content": [
 9             {
10                 "id": "1bebc5f9a0534be6828e9a1e2918ea36",
11                 "name": "自动化初始化员工",
12                 "mobilePhone": "13390897802",
13                 "hasAccount": true,
14                 "type": "EMPLOYEE",
15                 "createDateTime": "2019-04-15 15:49:08"
16             },
17             {
18                 "id": "0622715f7f90495a93711f0dec7e9e6d",
19                 "name": "员工1",
20                 "mobilePhone": "19989789878",
21                 "hasAccount": true,
22                 "type": "EMPLOYEE",
23                 "createDateTime": "2019-02-25 15:09:37"
24             },
25             {
26                 "id": "500f624e87654f4495603a421ad9c2e8",
27                 "name": "员工2",
28                 "mobilePhone": "18499991111",
29                 "hasAccount": true,
30                 "type": "STORE_OWNER",
31                 "createDateTime": "2019-01-22 17:58:40"
32             }
33         ],
34         "hasContent": true,
35         "isFirst": true,
36         "isLast": true
37     },
38     "code": 0,
39     "message": "OK"
40 }

实现脚本如下:

 1 // 把responseBody转为json字符串 
 2 var data =JSON.parse(responseBody);
 3 
 4 // 获取employeeId即员工id
 5 var employeeId="";
 6 for(var i=0;i<data.result.content.length;i++){
 7     if(data.result.content[i].name=="自动化初始化员工"){
 8         employeeId=data.result.content[i].id;
 9         console.log(employeeId);
10         break;
11     }
12 }
13 // 设置环境变量employeeId,即员工id,供后面的接口引用
14 pm.environment.set("employeeId",employeeId);

即tests脚本如图所示:

该接口运行后我们可以看到控制台中打印的我们拿到的员工id为:1bebc5f9a0534be6828e9a1e2918ea36,

正是我们需要的员工id,即获取正确,其他需要该值的接口都可以使用{{employeeId}}或pm.environment.get("employeeId")的方式去获取

猜你喜欢

转载自www.cnblogs.com/miaomiaokaixin/p/10723420.html