为什么要用环境变量
在自动化测试中,有时需要借助环境变量实现某些特定的目的,常见的场景包括:
- 切换测试环境
- 切换测试配置
- 存储敏感数据(从信息安全的角度出发)
设置环境变量
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
的优先级大于系统环境变量。
小结
环境变量通常作为每个环境内特定不变的内容而存在,从这个点出发,我们可以将我们在项目中需要用的这种属性的变量设置为环境变量,从而在实际测试中直接调用。
函数变量&过程变量是指在某个方法中需要用到的可能会变化的入参和方法执行过程中产生的中间变量,这种类型的变量我们一般会保存在内存中或者配置文件中,当工程运行结束后,这些变量就没有意义了。
感谢您的阅读,别忘了关注,点赞,评论,转发四连哟!