postman 接口返回值有多个相同key时(不唯一),怎么提取第2个value给下一接口调用? ...

这个问题之前困扰了我很久,一直搜索类似的博客都没找到答案,终于自己慢慢摸索中找到了答案!
(博客引用请注明链接,谢谢。)

用postman做接口测试,肯定会遇到上一接口的返回值给下一接口调用的问题,那么需要可将上一参数设置为全局变量。

1、如图1的“parentId”要给到下一接口调用,可将“parentId”设置为全局变量(图2)。
在“Tests”中写入代码为:
var data = JSON.parse(responseBody); //获取所有的返回数据;
tests[data.result] = responseBody.has("true");//返回数据中有“true”
tests[data.msg] = responseBody.has("登录成功");//返回数据中有“登录成功”。(这两个断言依照返回数据填写)
pm.globals.set("parentId", data.data.parentId);//将“parentId”设置为全局变量(“parentId”在返回数据中是唯一的)

image

image

2、设置好后,点击发送,“parentId”的值就自动填写到全局变量中(图3)

image

3、遇到返回值中需要调用的参数不止一个,但是要调用第2个,返回数据如图4--“parentStudentId”不止一个,该怎么办呢?
如果按照上面的代码“pm.globals.set("parentStudentId", data.data.parentStudentId);”发送的话,是获取不到“parentStudentId”的值(图5)

image

image

4、因为data的数据中“parentStudentId”有多个值,那肯定代码中要注明获取的是data数据中的哪个,即data[1]表示取第2个,data[0]表示取第1个。
代码如图6(pm.globals.set("parentStudentId", data.data[1].parentStudentId););
此时再请求下,则可获取到“parentStudentId”的值了(图7).
image
image

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值