首页 > 其他分享 >httprunner 4.x学习 - 3.variables 变量声明与引用

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

时间:2023-05-05 13:44:18浏览次数:41  
标签:username httprunner 变量 variables post config name

前言

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

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

config 全局变量

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

config:
    name: logincase
    variables:
        user: test
        psw: "123456"

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

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请求设置了局部变量, 那么它的作用范围只在第二个步骤中生效。

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变量

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

标签:username,httprunner,变量,variables,post,config,name
From: https://www.cnblogs.com/yoyoketang/p/17373882.html

相关文章

  • java:找不到符号 符号:变量:log
    原文链接:https://blog.csdn.net/zhanghaoninhao/article/details/129180810问题:java:找不到符号 符号:变量:log环境:springbootidea解决方法:在idea中,点击file-Settings,打开配置页面,如图红框位置,输入:-Djps.track.ap.dependencies=false ......
  • 解决python配置环境变量后cmd窗口无法打开并弹出Microsoft store界面
    前言在一台新的机器上安装python并正确配置环境变量后,本来打算测试一下是否安装成功,结果在cmd窗口输入python执行后,没有出现版本信息,并会弹出Microsoftstore界面。反复检查了一下,环境变量确实已经正确配置了,但还是无法执行。后经查找资料解决了该问题,在此做下记录。......
  • httprunner 4.x学习 - 2.测试用例结构(testcase)
    前言httprunner4.x版本,YAML/JSON格式用例(testcase)结构延续了之前的config和teststeps两个部分config配置部分config部分示例config:name:"requestmethodstestcasewithfunctions"variables:foo1:config_bar1foo2:config_bar2......
  • 批处理中setlocal enabledelayedexpansion 变量延迟(转)
    本质上是因为批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行)在一行中即使是使用变量赋值也是无作用的,使用才有了变量延迟https://www.jb51.net/article/29323.htm ......
  • python11:局部变量与全局变量
    局部变量:在函数内部定义的变量,作用域仅仅局限在函数的内部。不同的函数可以定义相同的局部变量,但是各自用各自的不会产生影响注意:局部变量在函数执行完毕后会释放作用:为了临时的保存数据,需要在函数中定义来进行存储。全局变量:当全局变量和局部变量出现重复定义的时候,程序就......
  • Linux环境变量与Set-UID设置
    管理环境变量(1) env命令输出环境变量。 (2) 输出特定的环境变量  printenvPWD方法 env|grepPWD方法(3)使用export命令设置环境变量  2.将环境变量从父进程传递给子进程(1)使用vim编辑器编写程序   (2)编译运行程序,并将结果保存在child.txt文件中,......
  • Postman实现变量自增循环执行接口
    设置globals全局变量,如下图设置的n,配置初始值为1或者为其它值 在接口中添加变量 在Pre-requestScript中设置自增的脚本vartemp=parseInt(postman.getGlobalVariable("n"));#先获取全局变量n并赋值为temptemp+=1;#temp自增1postman.setGlobalVariable("n",te......
  • C++ Primer 5th 阅读笔记:变量和基本类型
    一些语言的公共特性内建类型,如整型,字符型等;变量,为值绑定的一个名字;表达式和语句,操作值。分支和循环,允许我们条件执行和重复执行;函数,定义抽象计算单元。扩展语言的方式自定义类型;标准库。本章重点学习语言的基本知识和标准库。内建类型;简要介绍自定义类。类型......
  • Httprunner4.x-02-运行测试项目
    安装环境:pip3installhttprunner遇到问题:subprocess-exited-with-error解决方法:pipinstall--upgradesetuptools ......
  • 交个朋友HttpRunnerV4.x 01-初次见面
     背景:Pytest是纯接口的自动化框架。而HttpRunner一款开源测试平台,可以实现接口测试/压力测试DevOps/数字体验监测。那交个新朋友HttpRunner学习下。 米哈游-平台部、有米科技-测试与工程质量保障部、通用环球医疗-环球健康等客户案例在使用HttpRunner框架。 为什么......