[TOC]
<br>
### 变量 Variables
#### 变量的目的
设置变量的主要目的,我认为主要有两个
1. 一处设置,多处调用,一处修改,全部生效
举例:在某个项目中,一个用户的UID是一串非常难记非常长的字符串。在这个项目的几十个请求中,都会带上这个参数,那么我们可以将用户UID设置成变量,在所有的请求中,带上变量名称接口。如果需要更换用户UID,不需要修改那几十个请求,直接修改变量值即可。
2. 方便与数据的关联与同步
举例:在某个项目中,一个用户的账号金额是会发生变化的。充值前可以通过查询接口获得初始金额是m元,经过调用充值接口充值n元后,金额会发生变化,等于m+n元。
这个过程中,我们只能通过变量进行数据的关联,先将初始查询到的金额赋予一个变量。在充值后,引用变量名称获得初始金额,将初始金额与充值金额相加,得到最终的用户金额。
#### 变量的作用范围
在Postman中,变量有5种作用范围。如果在多个范围中都有设置同一个变量,那么高优先的会覆盖低优先级。优先级:data>local>environment>collection>global
![](https://box.kancloud.cn/29ee97f847d245c2bfbbfd464539c7b1_389x299.jpg)
#### 变量的设置与引用
在变量设置面板中,设置变量名为“user”,变量值为“Milton”,在引用的地方填写`{{user}}`,在真正调用时,{{user}} 会被替换成“Milton” 如:
设置全局变量Globals
![](https://box.kancloud.cn/36a116c5aecca3b3a15c1168217bd8ee_711x263.jpg)
在请求中应用
![](https://box.kancloud.cn/c6a1924f8926ef253c224d320190e2b2_965x496.jpg)
### 管理全局变量 Globals Variable
`常用,需掌握`
![](https://box.kancloud.cn/2b6a72e5cea62fe29c90177efb525ec5_368x238.jpg)
![](https://box.kancloud.cn/36a116c5aecca3b3a15c1168217bd8ee_711x263.jpg)
### 管理测试集变量 Collection Variable
![](https://box.kancloud.cn/ce721893e6b673650d59b14101c42b53_794x304.jpg)
### 管理环境变量 Environment Variable
`常用,需掌握`
在测试过程中,程序有可能分测试环境和正式环境。不同的环境中,项目的域名一般是不一样的,还有一些跟环境相关的参数。在postman中,可以设置环境变量,在不同的环境中使用不一样的参数值,这就`实现了一套测试用例分别适应不同的环境`。
实例:设置一个测试环境与生产环境,在这两套环境中,域名是不一样的。
![](https://box.kancloud.cn/7d6355ae067884dbfdfd934de9efbceb_452x299.jpg)
设置测试环境的变量
![](https://box.kancloud.cn/2284c8d8639d3f984875d4cb51ba1d6f_717x225.jpg)
设置生产环境的变量
![](https://box.kancloud.cn/5d7e8e4f17699f0a9c3299c8ce07bbe9_715x235.jpg)
设置完成后,选择测试环境运行
![](https://box.kancloud.cn/2f7b1d898f0040374c29efec99a45b59_1060x437.jpg)
设置完成后,选择生产环境运行
![](https://box.kancloud.cn/41b3175eedf0fbc7904551133c0a0e5f_1091x435.jpg)
这个实例中,不用修改request builder,直接选择不同的环境,便可实现了发送请求时采用不同的变量内容。
### 管理局部变量 Local Variable
在脚本中设置的局部变量,在讲解脚本的时候再介绍
### 管理运行时参数变量 Data Variable
`自动化时,常用`
还记得在运行Collection的设置窗口中,有个上传Data参数文件的设置么?
![](https://box.kancloud.cn/15fad57a24f3b8c874c63fffa0d22fac_494x772.jpg)
这里通过参数文件设置的变量,便是Data Variable。
举例:
1. 在Request Builder中引用变量名{{path}}与{{value}}
![](https://box.kancloud.cn/549a56b582eea95924e9c6caa88374aa_1080x352.jpg)
2. 设置参数文件“58702574.csv”内容格式如下:
![](https://box.kancloud.cn/e119d7173637b87f9ab874f4955cb3f6_249x138.jpg)
或设置参数文件“58702589.json”内容格式如下:
```python
[{
"path": "post",
"value": "1"
}, {
"path": "post",
"value": "2"
}, {
"path": "post",
"value": "3"
}, {
"path": "post",
"value": "4"
}]
```
3. 在Collection Runner 中导入参数文件
![](https://box.kancloud.cn/456665821306ccde55039eabaa13a6c0_502x778.jpg)
4. 运行结果
![](https://box.kancloud.cn/743d531c24fc4ced0c8a9348958aa386_734x418.jpg)
在这个例子中,一个接口迭代了4次,每次迭代使用了不同的参数值。
<hr style="margin-top:100px">
:-: ![](https://box.kancloud.cn/331f659e8e6cddb0d9f182e00e32803f_258x258.jpg)
***微信扫一扫,关注“python测试开发圈”,获取更多测试开发分享!***
- 前言
- Fiddler01-抓包原理介绍与配置
- Fiddler02-菜单功能介绍
- Fiddler03-轻松玩转Fiddler
- Fiddler04-进阶使用FiddlerScript
- Fiddler05-使用FiddlerScript对微信文章互动量进行监控
- Postman01-介绍与安装
- Postman02-HTTP请求与响应
- Postman03-Collection管理与运行
- Postman04 -变量详解
- Postman05-初级脚本使用
- Postman06-实例小结篇
- JMeter01-JMeter就是这么简单
- JMeter02-一个完整实战包你学会使用JMeter
- JMeter03-在JMeter中使用BeanShell编程
- JMeter04-图形化和非图形化运行JMeter
- JMeter05-生成美观的HTML测试报告
- JMeter06-JMeter+Jenkins实战
- JMeter07-解析session与cookie