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/

2021年第八期《python接口web自动化+测试开发》7.17号开学(课程全面升级!) 加量不加价(新增postman, 赠送selenium和python基础2个课)

本期上课时间:7月17号-10月16号,每周六、周日晚上20:30-22:30

(0)

相关推荐