
为什么要用环境变量
在自动化测试中,有时需要借助环境变量实现某些特定的目的,常见的场景包括:
- 切换测试环境
- 切换测试配置
- 存储敏感数据(从信息安全的角度出发)
设置环境变量
Linux 中
使用 export 命令
$ export UserName=admin
$ echo $UserName
admin
$ export Password=123456
$ echo $Password
123456
或者将变量写在文件中,source 加载


Windwos 中
使用 set 命令
> set a=666
> echo %a%
> 666
在 HttpRunner 中使用环境变量
使用.env
demo_testcase.yml
config:
name: "demo testcase"
variables:
device_sn: "ABC"
username: ${ENV(USERNAME)}
password: ${ENV(PASSWORD)}
base_url: "https://getman.cn/mock"
output: [
"username",
"device_sn"
]
...
demo_api.yml
name: demo api
variables:
var1: value1
var2: value2
request:
url: /phyger
method: GET
headers:
User-Agent: $user_agent
Content-Type: "application/json"
json:
key: $var2
username: $username
pwd: password
测试报告:

使用系统环境变量
方便演示,我们删除.env 中的变量,直接使用系统已存在的变量
demo_api.yml
name: demo api
variables:
var1: value1
var2: value2
request:
url: /phyger
method: GET
headers:
User-Agent: $user_agent
Content-Type: "application/json"
json:
key: $var2
username: ${ENV(PROCESSOR_ARCHITECTURE)}
pwd: ${ENV(OS)}
测试报告
如图,已经拿到系统环境变量。
.env 和系统变量同时存在
.env

测试报告:

结论:当.env 和系统环境变量同时存在的时候,.env 的优先级大于系统环境变量。
完
















