临时变量
什么是临时变量?
临时变量是 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 变量系统中最灵活的部分:
- 优先级最高,可覆盖环境变量和全局变量
- 适合步骤间数据传递和动态数据生成
- 仅在当前执行上下文中有效,执行结束后自动清除