前言
当接口请求中有多个地方用到同一个值时,可以设置变量,在脚本中引用变量。
postman 可以设置全局变量和环境变量,这样只需要改一个地方,其它脚本引用变量都会生效。
使用变量
在多个地方使用相同的值时,使用变量会非常有用。
例如,如果多个请求中具有相同的base_url,但是base_url可能会更改,则可以将其存储在变量中。
如果base_url更改,则只需要更改变量值,无论使用变量名称的位置如何,它都会在整个集合中反映出来。相同的原则适用于您的请求中重复数据的任何部分。
postman 支持的变量的作用范围
- Global 全局变量使您可以访问集合,请求,测试脚本和环境之间的数据。全局变量在整个工作空间中都可用。
- Collection 集合变量可在集合中的整个请求中使用,并且独立于环境,因此请不要根据所选环境进行更改。
- Environment 环境变量使您可以针对不同的环境定制处理,例如本地开发与测试或生产
- Data 数据变量来自外部CSV和JSON文件,以定义在通过Newman或Collection Runner运行集合时可以使用的数据集
- Local 局部变量是临时的,只能在您的请求脚本中访问。局部变量值的范围仅限于单个请求或收集运行,并且在运行完成后不再可用。
变量的作用范围如图所示
设置为变量(variable)
如果我们要把部分值设置为变量,可以先选中这部分内容,这时会弹出‘Set as variable’选项
点 Set as variable > Set as a new variable.变量的范围可以选全局变量/环境变量/集合变量
全局变量(Globals)
有一个注册接口http://localhost:8201/api/v1/register
, 还有一个登陆的接口http://localhost:8201/api/v1/login
前面一部分都是一样的http://localhost:8201
,这部分可以用一个变量base_url来定义,这个环境是可能会变的
接着上一步,定义一个全局变量,设置变量名称为base_url
点set variable
按钮,此时选中的部分会自动变成{{base_url}}
引用变量的值
查看和编辑变量
点开眼睛按钮,查看变量
在Globals 区域点 Edit按钮,可以自己编辑添加一些变量
添加 username 和 password 两个变量
请求body引用变量
环境变量(Environment)
当我们有多套测试环境的时候,比如有开发环境,测试环境,联调环境,预发布环境等,每套环境的测试数据不一样,至少base_url地址是不一样的。
在运行的时候可以选择不同的环境运行,默认是:No Environment
新增一个测试环境,左上角New - Environment
设置环境名称和变量(此时base_url地址应该从全局变量里面移除)
点add按钮添加成功
运行的时候选‘test环境’运行
点眼睛按钮,查看当前环境的环境变量和全局变量(全局变量是对任意环境都会生效)