Skip to content

环境变量

什么是环境变量?

环境变量是 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 变量系统中用于环境隔离的关键部分:

  • 优先级中等,高于全局变量,低于临时变量
  • 适合存储环境相关的配置信息
  • 支持多环境切换,一套用例多环境运行