httprunner 3.x学习7 - 变量优先级

前言

httprunner 3.x里面变量可以分为这几种:step变量,config变量,extract变量,export变量

variables变量优先级

httprunner 3.x里面变量:

  • step(参数变量) 在step 步骤中设置的variables,也就是局部变量,在当前step中生效
  • config(配置变量) 在config配置中设置的variables,也就是全局变量,在当前整个文件中都生效
  • extract(提取变量) 提取返回结果的变量
  • export(导出变量) export 导出变量,让局部变量可以在全局引用,也可以在导入前面一个用例的时候提取的变量关联过来

原则上在使用变量的时候,变量名称尽量不要重复,如果有重复的时候,那么变量就会有优先级了
yaml 用例示例

config:
    name: xxx
    variables:              # config variables
        varA: "configA"
        varB: "configB"
        varC: "configC"
    parameters:             # parameter variables
        varA: ["paramA1"]
        varB: ["paramB1"]

teststeps:
-
    name: step 1
    variables:              # step variables
        varA: "step1A"
    request:
        url: /$varA/$varB/$varC # varA="step1A", varB="paramB1", varC="configC"
        method: GET
    extract:                # extracted variables
        varA: body.data.A   # suppose varA="extractVarA"
        varB: body.data.B   # suppose varB="extractVarB"
-
    name: step 2
    varialbes:
        varA: "step2A"
    request:
        url: /$varA/$varB/$varC # varA="step2A", varB="extractVarB", varC="configC"
        method: GET

在测试用例中,变量优先级按以下顺序排列:

  • 步骤变量 > 提取的变量,例如步骤 2,varA="step2A"
  • 参数变量 > 配置变量,例如第 1 步,varB="paramB1"
  • 提取的变量 > 参数变量 > 配置变量,例如第 2 步,varB="extractVarB"
  • 配置变量的优先级最低,例如步骤 1/2,varC="configC"

测试套件

config:
    name: xxx
    variables:                  # testsuite config variables
        varA: "configA"
        varB: "configB"
        varC: "configC"

testcases:
-
    name: case 1
    variables:                  # testcase variables
        varA: "case1A"
    testcase: /path/to/testcase1
    export: ["varA", "varB"]    # export variables
-
    name: case 2
    varialbes:                  # testcase variables
        varA: "case2A"
    testcase: /path/to/testcase2

在测试套件中,变量优先级按以下顺序排列:
测试用例变量 > 导出变量 > 测试套件配置变量 > 引用的测试用例配置变量

参考官方文档资料https://docs.httprunner.org/user/concepts/

网易云课程地址



点我 ->立即报名

posted @   上海-悠悠  阅读(717)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-06-16 第9期《python3接口自动化测试》课程,6月29号开学!
点击右上角即可分享
微信分享提示