微信号:sylan15

介绍:十年测试老兵的原创干货,关注我,涨姿势

Postman 如何处理上一个接口返回值作为下一个接口入参?

2018-09-17 08:15 sylan215

公众号回复「送书」,了解送书活动

阅读本文大概需要 2.3 分钟。

前两天做接口测试,有一个接口的参数是一个校验 token,会实时更新,开发提供了一个单独返回实时 token 的接口,所以就需要在功能接口使用时调用 token 接口的返回值,作为功能接口的参数来使用。

网上搜了一下,都没有现成的使用说明,刚才研究出来了,就记录下步骤,方便后面的同学。

如果返回 token 的接口的返回值,是标准的 JSON 格式的话,就很简单的两步就行了。

1.token 接口设置全局变量

第一步就是执行 token 接口,并把接口返回值里面的 token 值,赋值给一个全局变量。

赋值操作是写在 Tests 里面的,内容如下:

var jsonData = JSON.parse(responseBody);
pm.globals.set("token", jsonData.token);

下面是我设置的截图:

2.功能接口参数中调用全局变量

第二步当然就是获取前面设置的全局变量的值,作为功能接口的入参了。

获取的实现是写到 Pre-request Scripts 里面实现的,内容如下:

pm.globals.get("token");

同时,要设置接口的 Params,新增一个 Key,Key 的名称为参数的名称,Key 的内容为全局变量名,比如{{token}}。

下面是我设置的具体的截图:

3.顺序执行接口调用

设置完成了,先调用 token 接口,然后调用功能接口就行了,这地方要注意执行顺序,如果反过来的话,接口调用会失败。

另外,如果 token 接口设置的全局变量生效的话,我们还可以通过工具提供的入口来查看具体的 Globals 信息,如同:

好了,上面说了最简单的操作的步骤,还可能有一些其他的情况,比如 token 接口返回值不是标准 JSON 时,还需要对返回值做个处理,比如有些同学不想设置全局变量,那么就需要提前配置一个环境变量供使用等等。

更多惊喜等着我们去发现。


推荐阅读:

做软件测试有前途么?

简历中打动人的 3 个关键点

简历中千万不要出现的 3 个问题

面试时经常会被问到的 3 个问题

借助「增长黑客」思想进行软件测试

一块抹布引发的关于测试策略的思考

没有和产品掐架过的开发不是好测试

手把手教你搭建 Selenuim 自动化环境

测试人员参与需求评审的价值是什么?



十年测试老兵的原创干货


扫码关注我,一起涨姿势

 
sylan215 更多文章 面试时经常会被问到的 3 个问题 测试人员参与需求评审的价值是什么? Selenium 报 xxxMachineLevelUserCloudPolicyEnrollmentTok 一块抹布引发的关于测试策略的思考 你要的输出已推送,请尽快签收
猜您喜欢 我为什么要坚持写公众号? PHP核心知识要点 一 腾讯TMQ在线沙龙|自动化测试经验总结(限时报名) JVM性能优化, Part 5:Java的伸缩性 Java中的内存泄漏学习