参数关联-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. Rider调试ASP.NET Core时报thread not gc-safe的解决方法

      新建了一个ASP.NET Core 5.0的Web API项目,当使用断点调试Host.CreateDefaultBuilder(args)时,进入该函数后查看中间变量的值,报错Evaluatio ...

  2. Java SE 8 新增特性

    Java SE 8 新增特性 作者:Grey 原文地址: Java SE 8 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...

  3. 定语从句关系代词只能用 that 的情况

    当先行词被形容词最高级.序数词,以及 the only.the very.the right 等修饰时,关系代词只能用 that. This is the most interesting movie ...

  4. Excel 统计函数(五):MINIFS 和 MAXIFS

    MINIFS [语法]MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) [参数] min ...

  5. Dart 异步编程(二):async/await

    对每一个异步任务返回的 Future 对象都使用链式操作-- then ,超过三个以上时,导致"倒三角"现象,降低代码的可阅读性. getHobbies() { post('htt ...

  6. PHP为任意页面设访问密码

    使用方法 把下面的代码存为php文件,下面的整段代码是验证过程,然后在你入口页进行调用例如命名为MkEncrypt.php,那么在入口页进行       require_once('MkEncrypt ...

  7. FR801xH开发

    一.空间分配 二.代码流程 1)user_custom_parameters 函数 __jump_table 结构体中保存了一些配置信息: void user_custom_parameters(vo ...

  8. 通过ftutilx 插件实现流版式文件全文检索

    Oracle 支持流版式文件的全文检索,而原生的PostgreSQL是不支持流版式文件全文检索的.KingbaseES 通过ftutilx 插件将流版式文件转换成文本文件,从而支持流版式文件全文检索. ...

  9. 银河麒麟v4_sp4安装英伟达驱动

    bios设置视频输出为auto模式 视频线插独立显卡上 先dpkg 安装两个deb包 1.禁用开源驱动:sudo vim /etc/modprobe.d/blacklist.conf,在里面添加 bl ...

  10. SSM保姆级从创建项目到使用,包括事务和设置回滚

    1. 简介 Spring 和 Mybaits整合 2. 创建项目 负责将代理类记性扫描,扫描的是Mapper接口所在的包,这个是mybatis提供的,所以会去找SqlSessionFactory 2. ...