环境变量
什么是环境变量?
环境变量是 AsyncTest 三层变量系统中环境级别的变量类型,用于区分不同环境(开发、测试、生产)的配置。
优先级:临时变量 > 环境变量 > 全局变量
基本操作
你可以通过以下方法对当前环境中的环境变量进行读取和设置:
读取环境变量
python
at.env.get('variable_name')设置环境变量
python
at.env.set('variable_name', 'variable_value')变量优先级
当一个变量 {{variable}} 准备进行替换时,系统会按照以下顺序依次寻找该变量的值:
临时变量 > 环境变量 > 全局变量如果在临时变量中未找到,则会在环境变量中查找。
使用场景
环境变量适用于以下场景:
- 多环境配置:区分开发、测试、生产环境的不同配置
- 环境隔离:同一套用例在不同环境中使用不同的变量值
- 接口地址管理:不同环境的 API 基础地址(base_url)
- 数据库配置:不同环境的数据库连接信息
- 环境级别共享:在当前环境下的所有接口和用例中共享
示例
读取环境配置
python
# 获取当前环境的 base_url
base_url = at.env.get('base_url')
# 拼接完整的请求地址
full_url = f"{base_url}/api/users"动态设置环境变量
python
# 在脚本中动态设置环境变量
at.env.set('api_version', 'v2')
# 后续步骤可以使用 {{api_version}} 引用该值
# 或者通过 at.env.get('api_version') 提取该值环境切换示例
python
# 根据条件动态切换环境配置
if at.env_name == 'production':
at.env.set('timeout', '30')
else:
at.env.set('timeout', '10')注意事项
- 环境变量在当前环境下有效
- 不同环境拥有各自独立的环境变量空间
- 通过脚本设置的环境变量会在当前执行上下文中生效
- 环境变量的配置通常在环境管理页面中维护
- 环境变量会被临时变量覆盖,但优先级高于全局变量
总结
环境变量是 AsyncTest 变量系统中用于环境隔离的关键部分:
- 优先级中等,高于全局变量,低于临时变量
- 适合存储环境相关的配置信息
- 支持多环境切换,一套用例多环境运行