postman参数传递

postman的数据包括全局变量,环境变量,外部文件和局部变量

  • 全局变量:作用域是全局,比如我们要设置的token
  • 环境变量:配置之后,让测试用例既能够在测试环境中执行,也能在正式环境中执行
  • 局部变量:比如tests中定义的变量,作用域只能在这个tests中
  • 外部文件变量:在run collections的时候可以设置循环次数,指定外部数据文件。外部文件可以是csv格式的,也可以是json格式的。

变量优先级:外部文件变量> 环境变量> 全局变量>数据变量,也就是说,在变量名相同的情况下,外部文件的变量优先级最高,全局变量被环境变量所覆盖,环境变量被外部文件变量覆盖。

方法一:在Postman界面上,我们可以用{{variableName}}这样的形式访问变量。当Postman解析变量时,字符串{{variableName}}将被替换为相应的值。例如,对于值为http://localhost的环境变量url,我们必须在请求URL字段中使用{{url}}。发送请求时,{{url}}将被http://localhost替换。

postman参数传递_第1张图片
变量设置.png

方法二:使用脚本定义
例如:上个接口出参数作为下个接口入参,在Tests录入测试脚本,将登录返回的token设置为全局变量供其它接口调用。

//获取body中返回的所有参数
var JsonData =JSON.parse(responseBody);

//获取返回的auth_token值
var auth_token = JsonData.data.auth_token;

//将Bearer+“空格”拼接在auth_token上
var global_token="Bearer"+" " +auth_token;

//将authorization的值设置为全局变量
pm.globals.set("global_token", global_token);

在脚本中定义环境或全局变量,需要根据所需的范围使用pm.environment.set()方法或pm.globals.set()方法,该方法需要使用变量名和变量值作为参数来设置变量。当发送请求时,脚本将被解析。

查看Postman界面Global变量区域:

postman参数传递_第2张图片
设置全局变量.png

引用全局变量:
postman参数传递_第3张图片
引用全局变量.png

方法三:本地变量(Local Variable)
本地变量:主要是针对单个URL请求设置的变量,作用域只是局限在请求范围内
例如:
请求URL:https:{{url}}/***/v1/mgr/login
请求方式:post
设置两个本地变量(mobile、pwd)作为参数
变量引用的格式为:{{variable}}
postman请求方式
postman参数传递_第4张图片
请求方式.png

变量设置好之后,需要对变量赋值,在【Pre-request Script】里面编写代码:
postman参数传递_第5张图片
脚本.png

方法四:数据变量(Data Variable)
通过导入外部数据文件(json/csv文件),来获取变量的数据
json Data 文件格式:

[{ 
 "moblie":"159****5",
 "pwd":"******"
},
{
  "moblie":"186****4",
  "pwd":"****"
}]

csv Data文件格式:

moblie,pwd
15******5,*******
186*****4,*******

进行 collections runner 设置


postman参数传递_第6张图片
运行collections.png
postman参数传递_第7张图片
配置运行参数.png

运行结果类似如下,可以很方便地看到测试通过情况


postman参数传递_第8张图片
运行结果.png

psotman应用说明:
https://www.jellythink.com/archives/category/tool-tutorials/postman

你可能感兴趣的:(postman参数传递)