httprunner2.0 概述及使用说明

news2024/11/25 18:43:36

目录

一、概述

二、系统流程

三、文件组织

1、项目文件目录结构

四、用例编写

1、用例编写

2、编写用例注意事项

五、变量或函数引用

六 环境变量引用

1、编辑.env文件

2、引用环境变量

七、参数化数据驱动


一、概述

HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

二、系统流程

三、文件组织

1、项目文件目录结构

 说明:
(1)api 文件夹:存储接口定义描述
(2)testcases 文件夹:存储测试用例,文件夹也可以使用其它名称
(3)testsuites 文件夹:测试测试场景,文件夹也可以使用其它名称
(4)reports 文件夹:存储 HTML 测试报告
(5).env文件:存储项目环境变量,通常用于存储项目敏感信息
(6)debugtalk.py:存储项目中逻辑运算辅助函数
·该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程根目录
·该文件不存在时,运行测试的所在路径(CWD)将被视为项目工程根目录
·测试例文件中的相对路径(例如.csv)均需基于项目工程根目录
·运行测试后,测试报告文件夹(reports)会生成在项目工程根目录

四、用例编写

1、用例编写

(1)api文件夹中编辑接口描述文件,如create_user.yml

(2)testcases文件夹中编辑测试用例文件,如create_and_check.yml

(3)testsuites文件夹中编辑测试用例集,如create_users.yml

2、编写用例注意事项

(1)extract响应结果的字段有 : status_code, cookies, elapsed, headers, content, text, json, encoding, ok, reason, url。如果响应结果中有多层嵌套,可通过content.xxx.0.id格式获取id,其中content是指响应内容,xxx是响应内容中的某个字段,0表示获取xxx数组中第一个内容。
(2)所有json/yaml和.env文件中格式错误都会导致执行失败。
.env编辑时需注意:从第一行开始编辑,结尾不要有空行,采用key=value,value不需用“”括起来,否则会变成value的一部分
(3)支持的检验器有eq(=)、lt(<)、le(<=)、gt(>)、ge(>=)、ne(!=)、str_eq、len_eq、len_gt、len_ge、len_lt、len_le、contains、contained_by、type_match、regex_match、startswith、endswith。

五、变量或函数引用

1、变量引用
接口用例中,取值时可以通过自定义,也可以引用其他已定义好的变量或参数,格式为$var

2、函数引用
接口用例中,取值时除了自定义、引用其他变量外,还可以引用debugtalk.py定义的函数来获取到函数返回值,格式为${get_value()}

六 环境变量引用

1、编辑.env文件

注意:env一般放置在项目根目录,若放置在其他目录或者命名不是.env时,可采用 --dot-env-path 参数指定文件路径,如hrun .../x.yml --dot-env-path .../xxx.env

2、引用环境变量

(1)通过${ENV()}获取

(2)在debugtalk.py中通过os.environ获取

七、参数化数据驱动

Httprunner2.0中支持testsuits中进行参数化和数据驱动,假如测试用例中定义了多个参数,那么测试用例在运行时会对参数进行笛卡尔积组合,覆盖所有参数组合情况。
1、参数情况分2种
(1)独立参数
(2)具有关联性的多个参数

2、指定数据源方式分3种
(1)在 YAML/JSON 中直接指定参数列表

(2)通过内置的P函数引用 CSV 文件

(3)调用 debugtalk.py 中自定义的函数生成参数列表


 -事必有法,然后有成- 最后祝大家早日达到测试的天花板!



 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023亚马逊云科技中国峰会:如何让AI前景更广阔

今天&#xff0c;2023亚马逊云科技中国峰会的第二天&#xff0c;峰会现场精彩不断绽放&#xff01; 值得关注的是&#xff0c;峰会上&#xff0c;亚马逊云科技大中华区产品总经理陈晓建在《专注创新&#xff0c;摆脱基础架构束缚》主题演讲中提出&#xff0c;云服务是支持数字创…

「UG/NX」BlockUI 树列表(回调函数)

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

如何创建WooCommerce会员网站

Web网站内容货币化的一种非常标准的方法是通过会员社区提供对内容的有限访问。您可以使用 WordPress 的众多付费专区插件之一轻松创建它。有些使用MemberPress或其他顶级 WordPress 会员插件&#xff0c;还有一些使用 WooCommerce。当您想到会员网站时&#xff0c;WooCommerce可…

Tomcat服务器的使用

一。Tomcat的概念 1.服务器 服务器&#xff1a;分为服务器硬件和服务器软件。在硬件服务器&#xff08;其实就是一台计算机&#xff09;上安装了服务器软件&#xff0c;才可以对外提供服务。 1.硬件&#xff1a;通常是指在互联网上具有独立IP的计算机&#xff0c;通常配置比…

u盘刷新系统

1.百度u盘制作将u盘进行刷成系统盘 点击添加系统 确认 关掉即可 到这里就制作完成了&#xff0c;u盘里也有系统了&#xff0c;下一步就是进入电脑的 bios 一般是f8 或者f2 或者esc 看你是什么电脑自己手机百度一下&#xff0c; 当进入u盘系统时候会发现一键刷机工具找不到镜像&…

【前端基础知识】iframe如何实现项目集成?如何防止被XFS?

目录 iframe介绍iframe语法如何实现集成效果如何将自己的网站实现禁止访问 iframe介绍 HTML 内联框架元素 (<iframe>) 表示嵌套的 browsing context。它能够将另一个 HTML 页面嵌入到当前页面中。 iframe语法 <iframe src"" name"" width"…

115.使用JS让移动导航工作起来

● 还记得我们之前的移动导航吗&#xff1f;需要手动添加类才能使其生效&#xff0c;现在我们用js来自动实现 const btnNavEl document.querySelector(".btn-mobile-nav"); const headerEl document.querySelector(".header"); btnNavEl.addEventListe…

【滤波】自适应滤波器

%matplotlib inline#format the book import book_format book_format.set_style()简介 到目前为止&#xff0c;我们已经考虑了跟踪与我们的过程模型相关的表现良好的对象的问题。例如&#xff0c;我们可以使用恒速滤波器来跟踪直线运动的物体。只要物体以合理的恒定速度沿直线…

文心一言vs通义千问 之前端文件夹命名

今天心血来潮想试试国内百度和腾讯的AI在解决前端难题–文件命名方面的效果。 如下&#xff1a; 综上&#xff0c;是百度会更贴近一些哈 大伙有什么命名的好工具嘛&#xff1f;

Flutter学习四:Flutter开发基础(六)调试Flutter应用

目录 0 引言 1 调试Flutter应用 1.1 日志与断点 1.1.1 debugger() 声明 1.1.2 print和debugPrint 1.1.3 调试模式、中间模式、发布模式 1.1.4 断点 1.2 调试应用程序层 1.2.1 转储Widgets树 1.2.2 转储渲染树 1.2.3 转储Layer树 1.2.4 转储语义树 1.2.5 调度&…

PyEcharts 学习总结

—— 如何用 pyecharts 绘制一切你想象得到的交互式图表&#xff1f; pyecharts 分为 v0.5.x 和 v1.0.0 两个版本&#xff0c;这篇总结针对新版本。 本文不包含基础例子的演示&#xff0c;主要记录一些细节方面的理解。示例看 gallery.pyecharts.org 一、简介 – Echarts &am…

基于Java网上手机商城设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

js获取文字的宽度

通过canvas api 获取文字宽度 const getTextWidth () > {const measureText document.createElement("canvas");const ctx measureText.getContext(2d)!return (name: string) > {const { width } ctx.measureText(name);return width 20 px} }const ge…

Java版企业工程项目管理系统源码-全面的工程项目管理+spring cloud

​ ​工程项目管理系统是指从事工程项目管理的企业&#xff08;以下简称工程项目管理企业&#xff09;受业主委托&#xff0c;按照合同约定&#xff0c;代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 如今建筑行业竞争激烈&#xff0c;内卷严重&#xff0c…

FTP-读取指定目录下的文件,上传到FTP服务器,一键复制黏贴,就是这么丝滑~

背景&#xff1a;需要定时将服务器下的日志文件上传到指定FTP服务器的目录下&#xff0c;并通知第三方平台文件已上传。 FTP服务器模拟工具&#xff1a; application.yml配置&#xff1a; spring:logfilepath: /home/jboss/server/default/log# ftp配置ftp:ip: 192.*****port…

ChatGLM-6B部署、实战与微调

文章目录 摘要下载chatglm-6b下载模型文件推理代码调用网页版的Demo网页版的Demo2命令行 Demo 部署API部署低成本部署模型量化CPU 部署Mac 部署多卡部署 训练与微调软件依赖下载数据集训练P-Tuning v2评估P-Tuning v2训练的模型部署P-Tuning v2训练的模型量化全参数Finetune 训…

回归预测 | MATLAB实现PSO-CNN粒子群算法优化卷积神经网络的数据多输入单输出回归预测

回归预测 | MATLAB实现PSO-CNN粒子群算法优化卷积神经网络的数据多输入单输出回归预测 目录 回归预测 | MATLAB实现PSO-CNN粒子群算法优化卷积神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 回归预测 | MATLAB实现PSO-CNN粒子群算法优…

计算机网络 套接字函数 | socket、bind、listen、accept、connect

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

红外雨量计(光学雨量传感器)在船舶航行中的应用

红外雨量计&#xff08;光学雨量传感器&#xff09;在船舶航行中的应用 红外雨量计是一种可靠的测量降雨量的设备&#xff0c;其原理是利用红外线的反射和漏射来测量降雨量。在船舶航行中&#xff0c;降雨对航行和安全都具有重要影响&#xff0c;因此红外雨量计的应用可以提高…

Linux 内核源代码情景分析(二)

系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核 Linux 设备驱动程序 Linux设备驱动开发详解 深入理解Linux虚拟内存管理 Linux 内核源代码情景分析&#xff08;一&#xff09; Linux 内核源代码情景分析&#xff08;二&#xff09; 文章目录 系列文章目录第 4 章 进程…