Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >httprunner 3.x学习7 - 变量优先级

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

作者头像
上海-悠悠
发布于 2021-06-24 14:45:56
发布于 2021-06-24 14:45:56
65300
代码可运行
举报
运行总次数:0
代码可运行

前言

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

variables变量优先级

httprunner 3.x里面变量:

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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”

测试套件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
httprunner 4.x学习 - 2.测试用例结构(testcase)
httprunner 4.x 版本,YAML/JSON 格式用例(testcase)结构延续了之前的config 和 teststeps 两个部分
上海-悠悠
2023/08/22
4530
httprunner 4.x学习 - 2.测试用例结构(testcase)
HttpRunner-2-用例组织
对于单个 YAML/JSON 文件来说,数据存储结构为 list of dict 的形式,其中可能包含一个全局配置项(config)和若干个测试步骤(test)。
Python研究所
2022/06/17
2950
HttpRunner-2-用例组织
httprunner 2.x学习5-测试用例集(testsuite)
httprunner 分层主要是分三层:api、testcase、testsuites 前面讲分层的时候讲到api单独封装每个接口,testcase可以有多个测试步骤,调用api层的接口是写测试用例,用例的步骤是有序的。 testsuites 这一层是测试用例的集合,把测试用例放到一个测试套件去执行,用例执行应该是无序的,有依赖的场景在testcase这一层测试用例里面就已经按步骤写好了。
上海-悠悠
2020/06/17
1.3K1
httprunner 3.x学习8 - variables变量声明与引用
在 HttpRunner 中,支持变量声明(variables)和引用($var)的机制
上海-悠悠
2021/06/24
8880
httprunner 3.x 入门 -2 入门案例
在学pytest的过程中,我一直搞不懂为什么变量引用用变量名或{变量名}引用,方法用
孟船长
2022/04/12
3820
httprunner 3.x 入门 -2 入门案例
httprunner(7)测试用例RunRequest
每个测试用例都有1个或多个测试步骤(List[step]),每个测试步骤对应一个API请求或其他用例的引用。
全栈程序员站长
2022/09/19
5180
httprunner(7)测试用例RunRequest
httprunner 3.x学习10 - parameters 参数化
httprunner 3.x可以在yaml文件中参数化,在 config 中使用 parameters 关键字 环境:httprunner==3.1.4
上海-悠悠
2021/06/24
1.2K2
《上海悠悠接口自动化平台》体验地址与使用教程
平台注册地址http://47.108.155.10/register.html 没有账号,先注册自己的账号,注册后自动登录
上海-悠悠
2023/01/03
9640
《上海悠悠接口自动化平台》体验地址与使用教程
httprunner3源码解读(2)models.py「建议收藏」
一句话总结:用到了typing和pydantic模块,目的是告诉读者我这些属性是什么类型的
全栈程序员站长
2022/09/19
3210
httprunner3源码解读(2)models.py「建议收藏」
httprunner 3.x学习5 - 测试用例引用前面一个用例(call)
当我写了一个登录的接口用例后,后面会继续写查询个人信息的接口,但是查询个人信息接口是依赖于先登录(获取token)。 像这种业务上操作有先后关系的情况,可以把登录当一个step来引用。 httprunner3.x 框架弱化了API层的概念,直接写testcase了,如果是单个接口的用例,可以当step去引用。
上海-悠悠
2021/06/24
1.5K0
httprunner 3.x学习5 - 测试用例引用前面一个用例(call)
HttpRunner-4-Extract
通常,测试框架中都有获取数据并且将其存储到变量的机制。httprunner 也不例外,extract 就是用来提取变量并且供后续步骤使用。
Python研究所
2022/06/17
5580
HttpRunner-4-Extract
测试平台接入HttpRunner V4(三)详细功能介绍
cheetah 自动化测试平台[开源项目](https://testerhome.com/opensource_projects/cheetah)了解如何接入httprunner[测试平台接入 HttpRunner V4(一)基本功能接入](https://testerhome.com/topics/35126)[测试平台接入 HttpRunner V4(二)使用 config 实现用例之间的参数传递](https://testerhome.com/topics/35125)# 大致功能> 1. 项目管理:
cheetah
2022/12/29
6800
测试平台接入HttpRunner V4(三)详细功能介绍
httprunner(8)用例调用-RunTestCase[通俗易懂]
一般我们写接口自动化的时候,遇到复杂的逻辑,都会调用API方法来满足前置条件,Pytest的特性是无法用例之间相互调动的,我们一般只调用自己封装的API方法。 而httprunner支持用例之间的调用,通过RunTestCase对其他测试用例进行调用,并且还可以导出用例中你所需要的变量,来满足后续用例的的运行。
全栈程序员站长
2022/09/19
4170
HttpRunner3的用例是怎么运行起来的
在PyCharm中打开examples/httpbin/basic_test.py:
dongfanger
2022/05/09
2770
HttpRunner3的用例是怎么运行起来的
httprunner 3.x学习1 - 环境安装与准备
httprunner 3.x最大的改变是执行用例用的是 python 的 pytest 框架,支持3种格式的用例:YAML/JSON/pytest 代码 对比 httprunner 2.x 以前版本,早期版本用的是 unittest 框架,只支持2种格式的用例: YAML/JSON
上海-悠悠
2021/06/24
1.2K0
httprunner 3.x学习1 - 环境安装与准备
HttpRunner-7-用例分层
在自动化测试领域,自动化测试用例的可维护性是极其重要的因素,直接关系到自动化测试能否持续有效地在项目中开展。
Python研究所
2022/06/17
3540
HttpRunner-7-用例分层
httprunner 4.x学习 - 3.variables 变量声明与引用
在 HttpRunner 中,支持变量声明(variables)和引用(var 或 {var} )的机制。在 config 和 step 中均可以通过 variables 关键字定义变量,然后在测试步骤中可以通过
上海-悠悠
2023/08/22
4890
httprunner 4.x学习 - 3.variables 变量声明与引用
httprunner3.x入门 -3 实现数据驱动
学这个不一定你熟练应用,但是要学习httprunner的设计思想。httprunner是兼容了pytest/json/yaml的。也就是目前比较火的框架基本都能用上,即使不会使用,也要了解到底是怎么回事。我的httprunner版本是3.1.6。
孟船长
2022/04/12
7950
httprunner3.x入门 -3 实现数据驱动
httprunner 3.x学习2 - 测试用例结构(testcase)
httprunner 3.x 支持3种格式的用例:YAML/JSON/pytest 代码,3.x版本主推的是pytest测试用例。
上海-悠悠
2021/06/24
1.2K0
httprunner 3.x学习2 - 测试用例结构(testcase)
HTTPRunner
HTTPRunner是一种单元测试工具,由于教学的需求,我学习了它,但是我觉得它比Python的Requests类相差太远。作为一个比较流行的工具在这里进行介绍。
顾翔
2024/09/10
1330
HTTPRunner
相关推荐
httprunner 4.x学习 - 2.测试用例结构(testcase)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验