postman的变量传递

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,collectionsrequests test scripts中使用。手动添加方式见下图:

...

Environment variables(环境变量):作用域小于Global variables可以在不同的collections requeststest scripts中使用。手动添加方式见下图:

...

collections variables(集合变量):作用域小于Global variables ,可以在不同的environmentsrequeststest 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 中引用该变量,则使用如下语句:

...