Jmeter性能测试之生成测试报告

结构

测试计划

测试计划是顶级的层级⽬录的结构,

那么在这样的⽬录结构中,⾥⾯可以包含很多线程组

线程组

线程组我们可以简单的理解为postman测试⼯具⾥⾯的collection,那么在整体线程组⾥⾯,可以添加很多的测试 ⽤例

简单控制器

理解为⼀个⽂件夹,主要是区分不同模块之间

测试用例

要素:

1、请求地址

2、请求参数


get请求⽅法 请求参数是query params的,那么它的形式是?key1=value1&key2=value2


post&put请求但是表单数据格式


post&put请求⽅法但是是JSON数据格式&XML的数据格式

post&put请求⽂件上传

3、请求⽅法


4、请求头

请求头是在配置元件⾥⾯的HTTP信息头管理器添加的 怎么添加 右键测试⽤例,然后在配置⽂件中选择HTTP信息头管理器,具体如下:

顺序 ⼀般性的是在HTTP请求的前⾯ 具体加哪些? 互联⽹产品 User-agent Count-type cookie referer ⾃研公司 content-type ⾃定义 为了产品的安全体系考虑,后端会⾃定义部分请求头,那么也是必须加的

测试结果 查看结果树

请求地址&请求参数


请求&响应


响应数据


不同数据格式的展示

测试断⾔

⼀个测试⽤例必须得有断⾔,assert 其实了可以理解为实际结果与期望结果的对⽐

JSON断⾔

就是针对JSON的数据格式来进⾏的 Example1 {"name":"wuya"} name example2 [{"name":"wuya"}] [0].name

JSON Path Assertion 特别强调,⾃带的$.是默认的,不要管

Example1 {"name":"wuya"} $.name example2 [{"name":"wuya"}] $.[0].name

响应断⾔

默认的来验证响应⽂本数据,其实它可以来验证迷糊的匹配

效率提升

HTTP请求默认值


断言结果


编码处理

响应数据编码

修改jmeter配置⽂件jmeter.properties,是在bin⽬录下 请求参数中⽂ 内容编码添加utf-8  重启

动态参数&关联

动态参数描述

解决⽅案

后置处理器中的JSON提取器和正则表达式提取器

变量调⽤ ${变量}

插件安装


生成测试报告

ant构建工具,该构建工具执行的时候依赖于build.xml的文件,在build.xml文件里面会定义具体执行的脚本,执行的顺序,以及测试报告存储的目录。

自动发送邮件,需要三个jar,分别是:activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下

jmeter生成html文件测试报告

先在jmeter安装的路径下找到bin目录下的jmeter.properties,用记事本打开该文件

修改如下:

修改源文件

jemter接口测试报告怎么整合到Jenkins

就是在上述步骤的基础上把控制台命令在Jenkins的面

 

结果

JMETER测试组件

断言:就是对脚本进行断言的

逻辑控制器:就是用来控制脚本运行逻辑的

前置处理器:就是在请求发送之前对请求进行处理

后置处理器:就是在请求之后对响应进行处理

定时器:设置思考时间的一些元件

配置元件:就是对请求做一些配置处理的元件,如:cookie管理、请求默认值等等

HTTP请求默认值:就是将线程组下面请求的重复参数放到请求默认值中,后续所有请求就不需要重复实现该参数设置, 会默认从该元件中获取所有参数值(将大家一样的部分分离出来,相当于page层)。

HTTP Cookie管理器:jmeter不会自动关联cookie,需要添加cookie管理器来关联cookie。

非测试元件:

HTTP代理服务器:用来录制脚本,要打开浏览器的服务代理器,但是不太可靠。(脚本录制BlazeMeter谷歌插件)

自定义变量

定时器

正则表达式

跟JSON提取器一样都是定义动态参数环境变量,定义访问权限

https://tool.oschina.net/regex     正则表达式在线测试

参数化 1——多用户请求,多线程运行参数化

参数化2——csv文件

记事本

csv文件

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了! 

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2025最新版】字节大牛讲的最全最细的自动化测试全套教程!永久白嫖,拿走不谢,全程干货无废话!逼自己15天内学完,从软件测试基础到项目实战一套全通关!

 

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

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

相关文章

CSS中的inline-flex与flex的区别

在CSS中,flex 和 inline-flex 都是用于实现弹性布局(Flexbox)的显示属性,但它们在布局行为上有所不同。 flex 属性会使元素表现为块级弹性容器,这意味着元素会在页面上占据一整行的空间,无论其内部内容的大…

Linux的那些基础常用命令汇总

目录 前言: 用户命令: 管理后台作业命令: 文件目录操作命令: 运维高频使用命令: 磁盘管理以及文件系统命令: 用户、组操作命令: 权限控制命令: 网络配置命令: 软件管理命令…

高效深度学习lecture03

lecture_03 **剪枝:**pruning basically turns a dense neural network into a sparse neural network. you can remove those redundant synapses, and also you can remove those redundant neurons. 剪枝的本质上是将稠密的神经网络转变成稀疏的神经网络&#…

Nextjs15 实战 - React Notes 项目初始化

current branch 对应如下文档 redis ioredis 本专栏内容均可在Github:notes_01 找到 一、效果 完整项目使用技术栈: Nextjs15 MySQL Redis Auth Prisma i18n strapi Docker vercel 二、修改根布局和其他页面 修改 app/page.tsx&#xff1a…

Flutter PopupMenuButton 深度解析:从入门到架构级实战

在移动应用交互设计中,上下文菜单如同隐形的魔法师,在有限屏幕空间中优雅地扩展操作维度。作为Flutter框架中的核心交互组件,PopupMenuButton绝非简单的菜单触发器,其背后蕴含着Material Design的交互哲学、声明式UI的架构智慧以及…

C++——清明

#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> #include <ctime>using namespace std;class Weapon; // 前置声明class Hero{ pr…

es --- 集群数据迁移

目录 1、需求2、工具elasticdump2.1 mac安装问题解决 2.2 elasticdump文档 3、迁移 1、需求 迁移部分新集群没有的索引和数据 2、工具elasticdump Elasticdump 的工作原理是将输入发送到输出 。两者都可以是 elasticsearch URL 或 File 2.1 mac安装 前置&#xff1a;已经安装…

鸿蒙开发_ARKTS快速入门_语法说明_组件声明_组件手册查看---纯血鸿蒙HarmonyOS5.0工作笔记010

然后我们来看如何使用组件 可以看到组件的组成 可以看到我们使用的组件 然后看一下组件的语法.组件中可以使用子组件. 然后组件中可以有参数,来修改组件的样式等 可以看到{},这种方式可以设置组件参数,当然在下面. 的方式也可以的 然后再来

【GEE学习笔记】报错解决:Sentinel-2 数据集分为 L1C(大气顶层)和 L2A(地表反射率),如何选择波段进行去云处理?

【GEE学习笔记】报错解决&#xff1a;Sentinel-2 数据集分为 L1C&#xff08;大气顶层&#xff09;和 L2A&#xff08;地表反射率&#xff09;&#xff0c;如何选择波段进行去云处理&#xff1f; 【GEE学习笔记】报错解决&#xff1a;Sentinel-2 数据集分为 L1C&#xff08;大…

OpenVLA-OFT——微调VLA时加快推理的三大关键设计:支持动作分块的并行解码、连续动作表示以及L1回归(含输入灵活化及对指令遵循的加强)

前言 25年3.26日&#xff0c;这是一个值得纪念的日子&#xff0c;这一天&#xff0c;我司「七月在线」的定位正式升级为了&#xff1a;具身智能的场景落地与定制开发商 &#xff0c;后续则从定制开发 逐步过渡到 标准产品化 比如25年q2起&#xff0c;在定制开发之外&#xff0…

IDEA 使用Maven打包时内存溢出

IDEA 使用Maven打包时内存溢出 解决办法&#xff1a; File -> settings -> Build,Excetion,Deployment-> Compiler 中添加配置“-Djps.track.ap.dependenciesfalse” 如图&#xff1a;

随机产生4位随机码(java)

Random类&#xff1a; 用于生成随机数 import java.util.Random; 导入必要的类 generateVerificationCode()方法&#xff1a; 这是一个静态方法&#xff0c;可以直接通过类名调用 返回一个6位数字的字符串&#xff0c;首位不为0 生成首位数字&#xff1a; random.nextInt…

C#调用C++动态库时出现`System.DllNotFoundException`错误的解决思路

文章目录 1. DLL文件路径问题2. 依赖的运行时库缺失3. 平台不匹配&#xff08;x86/x64&#xff09;4. 导出函数名称不匹配5. DLL文件损坏或权限问题6. 运行时库冲突&#xff08;MT/MD不匹配&#xff09;7. 使用DLLImport时的常见错误总结步骤 在C#中调用C动态库时出现System.Dl…

免费Deepseek-v3接口实现Browser-Use Web UI:浏览器自动化本地模拟抓取数据实录

源码 https://github.com/browser-use/web-ui 我们按照官方教程&#xff0c;修订几个环节&#xff0c;更快地部署 步骤 1&#xff1a;克隆存储库 git clone https://github.com/browser-use/web-ui.git cd web-ui Step 2: Set Up Python Environment 第 2 步&#xff1a;设置…

ES 参数调优

1、refresh_interval 控制索引刷新的时间间隔。增大这个值可以减少I/O操作&#xff0c;从而提升写入性能&#xff0c;但会延迟新文档的可见性 查看 GET /content_erp_nlp_help_202503191453/_settings?include_defaultstrue 动态修改&#xff1a;refresh_interval 是一个动态…

【Easylive】视频删除方法详解:重点分析异步线程池使用

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 方法整体功能 这个deleteVideo方法是一个综合性的视频删除操作&#xff0c;主要完成以下功能&#xff1a; 权限验证&#xff1a;检查视频是否存在及用户是否有权限删除核心数据删除&…

《比特信使的七重试炼:从数据丢失到CA认证的守护史诗》

点击下面图片带您领略全新的嵌入式学习路线 &#x1f525;爆款热榜 88万阅读 1.6万收藏 第一章&#xff1a;初现危机——数据丢失的阴云 比特城的清晨总是被数据流的光芒点亮&#xff0c;但这一天&#xff0c;工程师艾琳的实验室却笼罩在阴霾中。她刚刚尝试通过古老的“疾风…

如何更好的理解 beforeEach 全局前置守卫,在处理路由跳转前触发,怎么实现常用的全局权限校验、登录状态检查的呢?

以下将深入讲解 Vue Router 的全局前置守卫 beforeEach 在权限系统中的实现原理和实战应用&#xff0c;结合企业级项目代码进行拆解&#xff08;基于 Vue 3 TypeScript Pinia&#xff09;。 一、前置守卫核心机制 1.1 执行时机与特性 全局前置守卫在路由跳转前触发&#xf…

VMware上的windows虚拟机安装使用Docker方法

因为在实体机上使用Docker会导致VMware无法启动虚拟机&#xff0c;所以尝试了在虚拟机中安装Docker. 1. 创建Windows虚拟机. windows至少是Win10 1.9***或者Win 11. 这是Docker Desktop要求的。 2. 虚拟机CPU要开启虚拟化功能。 虚拟机的CPU开启虚拟化 虚拟机的memory要不小…

项目中集成ECharts图表(通过定时任务SpringTask统计每天的订单金额)

项目应用Echarts ①、前端终端安装Echarts npm install echarts --save ②、src/views创建order目录&#xff0c;在order目录下创建orderStatistics.vue ③、src/router/modules目录下创建order.js&#xff0c;配置路由 const layout ()>import(/layout/index.vue) …