Skip to content

临时变量

什么是临时变量?

临时变量是 AsyncTest 三层变量系统中优先级最高的变量类型,仅在当前执行上下文中有效。


基本操作

你可以通过以下方法对当前上下文中的临时变量进行读取和设置:

读取临时变量

python
at.temp.get('variable_name')

设置临时变量

python
at.temp.set('variable_name', 'variable_value')

变量优先级

在所有类型的变量中,临时变量的优先级是最高的

当一个变量 {{variable}} 准备进行替换时,系统会按照以下顺序依次寻找该变量的值:

临时变量 > 环境变量 > 全局变量

如果在临时变量中找到了该变量,则直接使用,不再继续查找环境变量和全局变量。


使用场景

临时变量适用于以下场景:

  • 步骤间数据传递:在用例执行过程中,将上一步的响应数据传递给下一步
  • 动态数据生成:在脚本中生成临时数据,供后续步骤使用
  • 覆盖环境变量:临时覆盖环境变量或全局变量的值,而不影响原始配置
  • 单次执行有效:仅在当前执行上下文中生效,执行结束后自动清除

示例

提取响应数据并传递

python
# 从响应中提取 token
response_body = await at.response.async_json()
token = response_body.get('data', {}).get('token')

# 设置为临时变量
at.temp.set('auth_token', token)

# 后续步骤可以使用 {{auth_token}} 引用该值
# 或者通过 at.temp.get('auth_token') 提取该值

PS:当然对于这种简单的提取方式,更加建议您使用 提取变量 来进行提取

提取变量

注意事项

  • 临时变量仅在当前执行上下文中有效
  • 单接口调试和用例执行拥有各自独立的临时变量空间
  • 执行结束后,临时变量会被自动清除
  • 临时变量不会持久化保存

总结

临时变量是 AsyncTest 变量系统中最灵活的部分:

  • 优先级最高,可覆盖环境变量和全局变量
  • 适合步骤间数据传递和动态数据生成
  • 仅在当前执行上下文中有效,执行结束后自动清除