参数关联-extract
场景:上一个接口的返回值,传给下一个接口当请求参数
extract:提取变量
$变量名 :引用变量
假设我们有如下场景
用户A登录之后,返回值返回用户UID,我们需要查询该用户的用户信息,需要用到登录接口返回值的uid
那我们先请求登录接口,然后使用extract提取uid,获取用户信息接口里面我们再引用uid变量
config:
name: 登录用例
base_url: http://xxx.com teststeps:
-
name: step-登录
request:
url: /v1/login/
method: POST
params:
user: test
password: 123456
# 使用extract提取,使用jmespath提取表达式获得返回值的uid,赋值给变量UID
extract:
uid: body.uid
validate:
- eq: [status_code,200] -
name: setp-获取用户信息
request:
url: /v1/userInfo/
method: POST
params:
uid: $uid # 请求这里直接使用$变量名来引用提取的uid
validate:
- eq: [ status_code,200 ]
环境变量.env
在自动化测试项目的根目录中,创建.env文件
并将敏感数据信息放置到其中,采用name=value存储,例如账号密码、数据配置等信息
创建环境变量
#.env文件
base_url=http://www.123.com
username=test
password=123456
引用环境变量
引用格式:
${ENV(key)} #ENV是内置函数

示例

config:
name: 登录用例
base_url: ${ENV(base_url)} # 对应格式引用环境变量 teststeps:
-
name: step-登录
request:
url: /v1/login/
method: POST
params:
user: ${ENV(username)}
password: ${ENV(password)} extract:
uid: body.uid
validate:
- eq: [status_code,200]
Testcase引用Testcase
假设我们有两个用例,用例1:登录,用例2:登录,修改个人资料
那么登录步骤就会重复,我们可以第二个用例引用第一个用例,当成测试步骤
httprunner3中,可以使用testcase引用另一个testcase
config:
name: 用户用例
base_url: ${ENV(base_url)} teststeps:
-
name: step-登录
# login用例是其他yaml用例写好的,在这里直接引用
# 使用testcase关键字,项目根目录相对路径引用登录的yaml文件路径
testcase: testcase/login.yaml
-
name: step-修改个人资料
......

3.httprunner-extract/.env/Testcase的更多相关文章

  1. httprunner(4)录制生成测试用例

    前言 写用例之前,我们应该熟悉API的详细信息.建议使用抓包工具Charles或AnyProxy进行抓包. har2case 我们先来了解一下另一个项目har2case 他的工作原理就是将当前主流的抓 ...

  2. 【HttpRunner v3.x】笔记 ——4. 测试用例-结构解析

    一.官方首推pytest格式 上篇文章我们知道了,httprunner可以支持三种格式的用例,分别是pytest.yaml和json.yaml和json是以前的版本所使用的用例格式,但是在3.x版本上 ...

  3. 【HttpRunner v3.x】笔记 ——3. 录制生成测试用例

    在正式手动编写case之前,我们可以先来熟悉下httprunner的录制生成用例功能. 用postman的童鞋都知道,里面有个功能可以将接口转换成代码,可以直接copy过来使用,提升case编写效率. ...

  4. HttpRunner3源码阅读:4. loader项目路径加载,用例文件转换、方法字典生成

    loader.py 这个文件中主要是对yaml,json用例加载转换成用例处理, 预置函数加载成方法字典,路径加载等 可用资料 [importlib]. https://docs.python.org ...

  5. 从 Spring 的环境到 Spring Cloud 的配置

    需求 不知不觉,web 开发已经进入 “微服务”.”分布式” 的时代,致力于提供通用 Java 开发解决方案的 Spring 自然不甘人后,提出了 Spring Cloud 来扩大 Spring 在微 ...

  6. HttpRunner3的用例是怎么运行起来的

    在PyCharm中打开examples/httpbin/basic_test.py: 首先映入眼帘的是左上角那个绿色小箭头,点了一下,可以直接运行,意味着HttpRunner是能够直接被pytest驱 ...

  7. httprunner学习13-环境变量.env

    前言 一般来说,在进行实际应用的开发过程中,应用会拥有不同的运行环境,通常会有以下环境: 本地开发环境 测试环境 生产环境 在不同环境中,我们可能会使用不同的数据库或邮件发送驱动等配置,这时候则需要通 ...

  8. 【HttpRunner v3.x】笔记—8.运行testcase的几种方式

    在之前的demo过程中,已经运行过testcase了,那这篇就也来汇总一下,运行case相关的知识点. 一.运行testcase的几种场景 1. 运行单个case 通常单个case的话我会在编辑器里用 ...

  9. httprunner学习22-正则表达式提取(extract)与校验(validate)

    前言 有些接口返回的并不是json格式的内容,返回的是html或者xml格式的内容,这种就不能用前面的 content.的方法去提取了. httprunner 支持正则表达式提取(extract)参数 ...

随机推荐

  1. 大数据工作流任务调度--有向无环图(DAG)之拓扑排序

    点击上方蓝字关注DolphinScheduler(海豚调度) |作者:代立冬 |编辑:闫利帅 回顾基础知识: 图的遍历 图的遍历是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点 ...

  2. django中的自定义分页器

    1.什么是自定义分页器 当我们需要在前端页面展示的数据太多的时候,我们总不能将数据展示在一页上面吧!这时,我们就需要自定义一个分页器,将数据分成特定的页数进行展示,每一页展示固定条数的数据! 2.为什 ...

  3. Warning Please make sure the network configuration is correct!( iaas-install-mysql.sh 脚本)

    解读先电2.4版 iaas-install-mysql.sh 脚本 基础服务的操作命令已经编写成shell脚本,通过脚本进行一键安装.如下: # Controller节点 安装 执行脚本iaas-in ...

  4. ACM模式细节

    牛客网的ACM模式需要自己写输入输出,在这里简单记录一下: 基本答题框架: import java.util.*; public class Main{ public static void main ...

  5. MQ系列3:RocketMQ 架构分析

    MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 1 背景 我们前面两篇对主流消息队列的基本构成和技术选型做了详细的分析.从本篇开始,我们会专注当下主流MQ之一的RocketMQ. 从 ...

  6. 钓鱼利用-CVE-2018-20250

    钓鱼利用-CVE-2018-20250 漏洞影响版本 WinRAR < 5.70 Beta 1 Bandizip< = 6.2.0.0 好压(2345压缩) < = 5.9.8.10 ...

  7. Clickhouse基准测试实践

    1.概述 本篇博客将对MySQL.InfluxDB.Clickhouse在写入时间.聚合查询时间.磁盘使用等方面的性能指标来进行比较. 2.内容 比较的数据集,是使用的Clickhouse官网提供的6 ...

  8. hadoop项目之求出每年二月的最高气温(Combiner优化)

    hadoop项目之求出每年二月的最高气温(Combiner优化) 一.项目结构 一.java实现随机生成日期和气温 package com.shujia.weather; import java.io ...

  9. 常用的SSH,你了解多少?(长文警告)

    1.SSH工作原理 从ssh的加密方式说开去,看下文 1.1.对称加密 客户端和服务端采用相同的密钥进行数据的加解密,很难保证密钥不丢失,或者被截获.隐藏着中间人攻击的风险 如果攻击者插在用户与远程主 ...

  10. Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1、JIRA账号注册

    文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...