httprunner 2.x介绍与使用

news2025/2/25 0:12:46

一、原文地址:

使用说明_httprunner2.0 概述及使用说明

 httprunner2接口测试框架说明文档 - 简书

二、介绍

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

三、安装

# 安装稳定版本

pip install httprunner==2.5.7

 查看是否安装成功

(venv) zhaohui@zhaohuideMBP miaostudydjango % httprunner -V
2.5.7

四、创建项目

hrun --startproject apitset

或者

httprunner --startproject apitest

五、虚拟环境配置

Pycharm创建虚拟环境_做测试的喵酱的博客-CSDN博客

 1、创建虚拟环境

2、进入虚拟环境

3、在虚拟环境中,再次安装httprunner

# 安装稳定版本

pip install httprunner==2.5.7

六、执行测试demo

创建完的项目中默认有测试用例,我们可以直接运行测试并生成报告。

hrun api/demo_api.yml --report-dir=reports

注意:

case路径:使用绝对路径与相对路径都可以。相对路径,是相对于跟目录的路径

生成报告的路径: 使用绝对路径与相对路径都可以。相对路径,是相对于跟目录的路径

报告样式:

七、工程结构介绍

 

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

八、编写yaml case

8.1 yaml语法

yaml语法_yaml在线语法_做测试的喵酱的博客-CSDN博客

case使用yaml编写的,所以学习yanl语法很重要

1、yaml是数据格式,不是数据类型(结构)
 2、yaml配置文件的后缀为.yml或者.yaml
 3、yaml中使用#作为注释,注释只能在某一行的前后,不能与key\value在同一行
 4、yaml中有两种结构,一种是key: value,value与冒号之间必须有空格
   另一种是 - key: value,“-”为列表结构
 5、yaml文件中嵌套的同一级条目前缩进必须一致(一般缩进2个空格)
 6、yaml中如果value使用引号(单引号或者双引号),那么该value为字符串类型
 7、如果value中只要有字母,哪怕没有添加引号,一般也会识别为字符串类型(false、true、on、off、null除外)
 8、value为false、true、on、off,是布尔类型,null为空
 9、value中为纯数字或者小数,会被识别为int或float类型 

8.2  case 结构

8.2.1 api 文件夹(没有任何数据依赖的场景)

api 文件夹:执行接口case的最小单元。如果一个接口case,没有任何数据依赖,就可以直接在api文件夹中,完成编写。

如不依赖登录信息的接口:

api/baidu_api.yml

name: 百度接口
variables:
    var1: value1
    var2: value2
request:
    url: https://ug.baidu.com/mcp/pc/pcsearch
    method: POST
    headers:
        Content-Type: "application/json"
    json:
        invoke_info: {"pos_1":[{}],"pos_2":[{}],"pos_3":[{}]}
validate:
    - eq: ["status_code", 200]

 执行case:

hrun api/baidu_api.yml --report-dir=reports

8.2.2 testcases 文件夹(实现数据依赖)

如一个注册接口:

1、url 中的域名,不要写死。通过配置完成

2、依赖token,token不能写死,通过配置完成

3、传参中的用户名和密码,不能写死,是一个变量。

testcases 文件夹,就是通过对api填充不同的数据,组成不同的case的。


(2)testcases 文件夹:存储测试用例,文件夹也可以使用其它名称
(3)testsuites 文件夹:测试测试场景,文件夹也可以使用其它名称

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

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

相关文章

HTML5、CSS3和JavaScript的基础知识以及从入门到精通的学习路径

摘要: HTML5、CSS3和JavaScript是现代Web开发的核心技术,掌握它们对于想要从事Web开发的人来说至关重要。本文将介绍HTML5、CSS3和JavaScript的基础知识以及从入门到精通的学习路径。通过深入理解这三种技术的特性和用法,并结合实践项目&…

MacOS怎么查看进程占用内存是多少

一、背景 在Linux下可以使用 free 命令来方便的查看内存占用情况,如 free -g、free -m等,但MacOS下没有这个命令。 既然如此,那么MacOS里是否有类似的工具呢? 而我们又该如何查看整个PC的内存占用情况,及指定进程的…

3.1 PTQ与QAT的介绍

1. 前言 TensorRT有两种量化模式,分别是implicitly量化(隐式量化)以及explicitly量化(显性量化)。 隐式量化(trt7 版本之前) 只具备 PTQ 一种量化形式各层精度不可控显示量化 显性量化(trt8 版本之后) 支持带 QDQ 节点的 PTQ 以及 支持带 QDQ 节点的 QAT 两种量…

从零开始,申请开通微信小程序全流程

本系列文章适合三类同学:1.希望学习小程序开发;2.希望无代码、低代码拥有自己的小程序;3.快速搭建小程序交作业、交毕设的大学生 本系列文章将推出配套桌面端软件,配合软件,可实现傻瓜式开发小程序,请有需求…

计算机体系结构-期末复习

计算机体系结构-期末复习 第一章 量化设计与分析基础 | 1.2.6 并行度与并行体系结构的分类 应用程序中主要有两种并行: 数据级并行:同时操作许多数据项实现的并行任务级并行:创建能够单独处理并大量采用并行方式执行的工作任务 所有计算…

如何理解网络—网络框架介绍

目录 前言 一.计算机网络背景 二.局域网和广域网 三.网络协议 3.1产生的背景 3.2分层实现 四.OSI七层模型 4.1OSI七层模型的结构 4.2如何理解OSI七层模型 五.TCP/IP五层(或四层)模型 六.网络传输基本流程 7.网络中的地址管理 7.1IP地址 7.2MAC地址 7.3MAC地址和IP地址的区别和联…

2021-2023浙江省内八大MBA项目招生情况:注意大小年啊~

现如今国内的MBA教育呈现出一片繁华景象,过去的这些年来每年几乎都有新增加的MBA招生院校,浙江省内目前共有九大MBA招生院校,除了浙大独领风骚之外,其余八个MBA项目也都有自己的一席之地。纵观2023年的招生录取,小立老…

ValueError: Object arrays cannot be loaded when allow_pickle=False

一、问题 使用numpy读取数据时出现错误,ValueError: Object arrays cannot be loaded when allow_pickleFalse。 查了一下numpy.load()函数 用法 numpy.load(file, mmap_modeNone, allow_pickLeFalse, fix_mportsTrue, encoding‘ASCII’) 参数 file:…

【Android】AMS(三)APP启动流程

启动方式 在 Android 系统中,启动一个应用程序可以分为三种启动方式:热启动、冷启动和温启动。它们分别表示了不同的启动方式和启动过程。 热启动 热启动是指在已经打开并处于后台运行的应用程序中,再次通过图标进入应用程序的启动方式。这…

Spring Security OAuth停更了?探索官方进化版Spring Authorization Server的革新之处!

1、背景 Spring Security OAuth(spring-security-oauth2)停更 主要意思是:生命周期终止通知 Spring Security OAuth(spring-security-oauth2)项目已达到生命周期结束,不再由VMware,Inc.积极维护。 此项目已被Spring Security和Spring Author…

信创办公–基于WPS的EXCEL最佳实践系列 (设置多级列表)

信创办公–基于WPS的EXCEL最佳实践系列 (设置多级列表) 目录 应用背景操作步骤1、删除重复项2、部门绑定3、填入相关信息 应用背景 当我们在使用电子表格时,很多类型重复输入很麻烦,看起来也很复杂,我们就可以设置多级…

关于输入输出格式符的测试

对输出%m.nf的测试 m代表宽度,表示数据可以占m列n代表精确,表示小数占n列 以下用%6.3f进行测试,有两个问题: 1、这个m是包括小数点位数吗?(todo未果) 2、精确度n超过了是怎么处理的&#xff1f…

2023年第六届广西大学生程序设计竞赛(正式赛)题解

比赛题目链接,可以继续提交代码: 2023年第六届广西大学生程序设计竞赛(正式赛) | 知乎:如何评价第六届广西大学生程序设计竞赛? 难度题号备注签到题A J K已给出题解和代码普通题B D E H已给出题解和代码中等题C G–难题F I L M–…

机器学习方法在生态经济学领域中的应用

查看原文>>>基于R语言机器学习方法在生态经济学领域中的实践技术 近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一&#xff0c…

moviepy快速切分视频并保存片段

文章目录 1、直接使用ffmepg2、使用moviepy本身 moviepy安装最新版本: pip install moviepy --pre --upgrade版本是v2.0.0.dev2。 有两种方法一种快速的: 1、直接使用ffmepg from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip ffmpeg…

Lecture 12 Discourse

目录 Discourse 语篇三个关键的语篇任务Discourse Segmentation 语篇分段Unsupervised Approaches 无监督方法Supervised Approaches 有监督方法有监督语篇分段器Discourse Analysis 语篇解析语篇解析RST: Discourse UnitsRST: Discourse RelationsNucleus vs. Satellite 核心 …

2022计算机系统期末

直接导入无图片,先不改了,不过图片都是原题目,不影响对答案。 计算机系统2022期末 本课程的复习请以知识点复习为重,全部内容共有大小280个知识点,都可能在期末考试出现,仅通过往年试卷复习是远远不够的&…

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置

第三阶段基础 时 间:2023年6月7日 参加人:全班人员 内 容: Mysql数据库之主从复制配置 目录 前提环境配置 MySQL 5.7 版本的主从复制配置步骤 主 库 1. 在主库上开启二进制日志记录功能 2. 在主库上创建一个用于从库访问的备份用户 3. 在主…

VTK学习之光照和相机

目录 一、VTK光照 1、关于vtkLight常用的方法 2、最终效果 二、相机设置 1、相机设置 2、效果 一、VTK光照 通过设置光照,可以达到不同颜色的目的,参考博客: VTK修炼之道7_三维场景基本要素:光照_vtk 光照_沈子恒的博客-CSDN博客 1…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--02 Guidelines

02 Guidelines 本节将配合代码,介绍一些构建Prompt的基本原则和策略。 1) OpenAI API 首先开发者需要在OpenAI网站(https://platform.openai.com/account/api-keys)注册一个key,然后通过pip install openai安装openai三方库,再将key导入当…