04-Httprunner-变量优先级

简介: 04-Httprunner-变量优先级

前言

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

变量介绍

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

测试用例

  • 避免混淆的最好方法是使用不同的变量名。 但是,如果必须使用相同的变量名,则应该了解优先级策略
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:                # 提取变量(extract variables)
        varA: body.data.A   # 假设 varA="extractVarA"
        varB: body.data.B   # 假设 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
  • 在测试套件中,变量优先级如下:

测试用例变量 > 导出变量 > 测试套件配置变量 > 引用的测试用例配置变量


相关文章
|
存储 Cloud Native Linux
CMake学习之内部变量
CMake学习之内部变量
|
5月前
|
Python
Python中多变量赋值
【8月更文挑战第5天】
461 5
makefile 变量的替换,嵌套引用,命令行变量
makefile 变量的替换,嵌套引用,命令行变量
129 1
|
测试技术 数据安全/隐私保护
05-Httprunner-变量的使用
05-Httprunner-变量的使用
|
运维 Shell Linux
【运维知识高级篇】超详细的Shell编程讲解1(Shell作用+脚本书写方式+脚本执行方式+变量分类+变量配置文件+变量定义+Shell重要的位置变量+三种传参方式)
【运维知识高级篇】超详细的Shell编程讲解1(Shell作用+脚本书写方式+脚本执行方式+变量分类+变量配置文件+变量定义+Shell重要的位置变量+三种传参方式)
369 1
|
Shell 索引
shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
shell变量 shell变量是指用一个特定的字符串去表示不固定的内容 1.变量的类型 1.1自定义变量 一般情况下不怎么使用环境变量,如果需要在其他文件中引入某个文件的变量则在脚本最开始的位置使用source 或者. 执行下该脚本即可
2897 0
shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
|
缓存 运维 监控
【运维知识进阶篇】Ansible变量详解(变量定义+变量优先级+变量注册+层级定义变量+facts缓存变量)
【运维知识进阶篇】Ansible变量详解(变量定义+变量优先级+变量注册+层级定义变量+facts缓存变量)
426 0
|
存储 Shell
Shell 变量使用(环境变量、预定义变量、位置变量、自定义变量的区别)
Shell 变量使用(环境变量、预定义变量、位置变量、自定义变量的区别)
139 0
#PY小贴士# for 循环定义的变量,循环外可以用吗?
我们知道,在 python 中要获取一个变量的值,必须是先给它赋值过,不然就是未定义。那么这个 i,代码中没有显式的赋值,在循环体之外还可以用吗?
|
C++ Windows
[✔️]VS中查看设置项目宏Marcos
[✔️]VS中查看设置项目宏Marcos
98 0

热门文章

最新文章