postman支持定义变量,并可以在变量允许的范围访问。这在多个地方使用相同的值时尤其有用。
1.变量范围
Postman 支持以下变量范围:Global、Collection、Environment、Data、Local。
如果在两个不同的作用域中声明了同名变量,则将使用作用域最窄的变量中存储的值,例如,如果有一个Global变量和一个Local变量都命名为username,则在请求时将使用Local下的变量运行。
变量作用域适用于Postman 中的不同任务:
环境变量(Environment):允许针对不同环境定制处理,例如本地开发与测试或生产。但一次只能激活一个环境。
集合变量(Collection):在集合中的整个请求中都可用,并且与环境无关,因此不根据所选环境进行更改。
局部变量(Local):该变量是临时的,只能在请求脚本中访问。局部变量值仅限于单个请求或集合运行,并且在运行完成后不再可用。
数据变量(Data):来自外部的CSV 和 JSON 文件,用于定义在通过 Newman 或 Collection Runner 运行集合时可以使用的数据集。
2.全局变量(Global)、环境变量(Environment)
可以通过postman左侧Environments标签页或使用右上角的环境快速浏览按钮,选择创建和编辑环境及全局变量。
postman左侧Environments标签页
使用右上角的环境快速浏览按钮
设置变量时,变量名称是必须填写的,名称用于变量在其他位置的引用。
变量的value分为两钟,“INTIAL VALUE(初始值)”和CURRENT VALUE(当前值)”。
初始值可以分享给同团队的其他账号,并且也会同步到账号的云端数据。而当前值只能在本地使用,并且不同步到云端数据。
当只填写了初始值或当前值时,则直接使用已填写的值。如果存在当前值和初始值同时存在时,则使用当前值。
在页面的左上角的两个按钮用于同步初始值和当前值的数据。Persist All是将当前值的数据同步到初始值,Rseset All用于将初始值的同步到当前值。
变量定义完成之后则可以访问变量。应用变量的方法是使用变量key加双花括号的形式例如:{{username}}
a.实例:使用变量配置请求头参数
工作中时常遇到多个接口使用相同的请求头参数,如果每一个请求头都手动配置繁琐,也浪费时间。可以将请求头参数通过全局变量的形式引用,简化配置流程。
变量可以直接配置,也可以通过已有的参数生成。
生成全局变量是,可以选择需要使用的value,全选value,postman会自动弹出set as variable的按钮,点击之后填写value的值和所属的变量类型,可直接生成变量。
点击“Set as variable”按钮,弹出设置变量弹框,可以选择“Set as a new variable”新建一个变量,也可以将value设为已创建变量的当前值。
(1)选择将value设为已创建变量的当前值,原来value的位置自动引用选择的变量,变量的当前值(CURRENT VALUE)也变为刚才设置的value。
(2)点击“Set as a new variable”,弹出新建变量弹框。填写变量key,选择变量范围(Scope)之后点击设置。设置完成将会自动引用。
b.实例:使用环境变量配置域名
在测试接口时,时常需要使用不同的域名进行测试,比如测试线的域名和正式线的域名。使用环境变量切换域名是一个适用的方法。
将域名设置为环境变量,建议同一个域名下,测试线的与正式线的参数名称使用同一个,便于切换环境。
在接口中将域名替换为变量:
需要切换测试线和正式线时,点击postman解密右上角的环境下拉框即可选择环境。
3.集合变量
集合变量只能在当前集合使用,且不受环境控制。集合变量引用变量的方式与全局变量、环境变量相同,使用变量key加双花括号的形式例如:{{username}}。
可以在创建集合时或之后的任何时间添加集合变量。
创建集合时,在Variables定义变量。定义变量的方式与全局变量、环境变量相同。
如果要为现有集合创建或编辑变量,则在Postman 左侧的集合侧栏中选择该集合,或者点击编辑集合,然后选择Variables。
postman系列文章目录: