前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >httprunner 4.x学习 - 3.variables 变量声明与引用

httprunner 4.x学习 - 3.variables 变量声明与引用

作者头像
上海-悠悠
发布2023-08-22 11:05:54
4140
发布2023-08-22 11:05:54
举报

前言

在 HttpRunner 中,支持变量声明(variables)和引用(var 或 {var} )的机制。在 config 和 step 中均可以通过 variables 关键字定义变量,然后在测试步骤中可以通过

  • 在 config 中定义的变量为全局的,整个测试用例(testcase)的所有地方均可以引用;
  • 在 step 中定义的变量作用域仅局限于当前测试步骤(teststep)

config 全局变量

在config下声明变量(variables)是全局变量,这样就在整个.yml文件生效了

代码语言:javascript
复制
config:
    name: logincase
    variables:
        user: test
        psw: "123456"

通过 {} 或 的形式来引用变量, 例如:var 或 {var}

代码语言:javascript
复制
config:
  name: 引用变量
  variables:
    username: test123

teststeps:
-
  name: post
  request:
    method: POST
    url: http://httpbin.org/post
    json:
      username: ${username}
      password: "123456"
  validate:
    - eq: [status_code, 200]

teststep 中局部变量

如下用例有2个步骤,其中第二个步骤post请求设置了局部变量, 那么它的作用范围只在第二个步骤中生效。

代码语言:javascript
复制
config:
  name: 引用变量

teststeps:
-
  name: get
  request:
    method: GET
    url: http://httpbin.org/get
  validate:
    - eq: [status_code, 200]
-
  name: post
  variables:
    username: test123
  request:
    method: POST
    url: http://httpbin.org/post
    json:
      username: ${username}
      password: "123456"
  validate:
    - eq: [status_code, 200]

变量优先级

原则上 config 变量和 step 变量名称尽量不要重复, 当config和step中都用同一个变量时,step变量优先级大于config变量

代码语言:javascript
复制
config:
  name: 引用变量
  variables:
    username: test123

teststeps:
-
  name: get
  request:
    method: GET
    url: http://httpbin.org/get
  validate:
    - eq: [status_code, 200]
-
  name: post
  variables:
    username: test456
  request:
    method: POST
    url: http://httpbin.org/post
    json:
      username: ${username}
      password: "123456"
  validate:
    - eq: [status_code, 200]

${username} 引用的结果是局部变量中的值 test456

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • config 全局变量
  • teststep 中局部变量
  • 变量优先级
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档