postman的变量传递
引言:
在使用postman发送http请求时,经常会碰到request间参数传递的问题。比如:很多接口的headers里,都要传login接口返回的token。这时我们就可以使用postman的变量传递。先将login接口返回的token保存到postman提供的变量中,再在需要token的地方引用该变量。
postman提供了5中不同作用域的变量,分别是:Global variables、 Environment variables、Collection variables 、Data variables和Local variables。 在使用时可以根据实际需求选择对应的变量。
一、变量添加
1.手动添加变量
Global variables (全局变量):是Postman中作用域最广的变量,可以在不同的 environments,collections,requests及 test scripts中使用。手动添加方式见下图:
Environment variables(环境变量):作用域小于Global variables ,可以在不同的collections, requests和test scripts中使用。手动添加方式见下图:
collections variables(集合变量):作用域小于Global variables ,可以在不同的environments,requests和test scripts中使用。手动添加方式见下图:
2.在test scripts 通过代码添加不同作用域的变量
代码执行通过后,可在对应的variables中查看对应的变量
- 添加Global variables的语句:
pm.globals.set("variable_key", "variable_value");
- 添加Environment variables的语句:
pm.environment.set("variable_key", "variable_value");
- 添加collections variables的语句:
pm.collectionVariables.set("variable_key","variable_value");
二、变量引用
1. 在requests,url,headers或body 中引用变量的方式为:{{变量名}},详见下图:
2.test scripts中引用变量的方式为: pm.variables.get('变量名')
三、变量传递
eg:调用login接口获取token后,再将token传递给需要的接口。具体步骤入下:
1.在login请求的Test 模块编中添加如下代码,将接口返回的access_token的值保存到collections variables的token变量中:
2.调用login请求后,collections variables中会新增一个名为token的变量,其值为login接口返回JSON中access_token对应的值
3.在需要token的请求中引用token变量
如要在test scripts 中引用该变量,则使用如下语句: