Jmeter生成HTML性能测试报告

2023-11-10

目录

1、前言

2、生成报告

2.1、方式一

2.2、方式二

3、查看报告

3.1、Dashboard(仪表板)

3.2、Charts(图表)

3.3、Customs Graphs(定制图表)


1、前言

使用 Jmeter 进行性能压测时,跑完全部 Jmeter 压测脚本后,接下来最主要的工作就是性能结果分析了。

示例:

创建 Demo 文件目录,并在该目录下创建 test_demo.jmx 压测脚本(业务全流程)。

设置线程数为10,循环次数为10,执行压测脚本。

执行完成后的性能指标展现在总结报告里。

虽然有收集到性能数据,但显示比较单一。

Jmeter 可以生成 HTML 性能测试报告。

2、生成报告

生成 HTML 报告有两种方式:

2.1、方式一

如果没有 .jtl 文件,命令行运行如下命令。

例如,打开命令行跳转到 Demo 目录下,执行 Jmeter 脚本。

jmeter -n -t test_demo.jmx -l result.jtl -e -o /Users/wangmeng/Desktop/ResultReport

命令参数:

-n :以非 GUI 形式运行 Jmeter
-t :test_demo.jmx 脚本路径
-l :result.jtl 运行结果保存路径,.jtl 文件名不能重复
-e :在脚本运行结束后生成 HTML 报告
-o :用于存放 HTML 报告的目录

执行结果:

Demo 目录下生成 result.jtl、jmeter.log 文件。

生成的 HTML 测试报告(ResultReport 目录)。

2.2、方式二

如果已经存在 .jtl 结果文件,命令行运行如下命令。

例如,打开命令行跳转到 Demo 目录下,已存在 result.jtl 文件,执行 Jmeter 脚本。

jmeter -g result.jtl -o /Users/wangmeng/Desktop/ResultReport2

命令参数:

-g :result.jtl 已经存在的 .jtl 文件路径
-o :用于存放 HTML 报告的目录

执行完成后,生成的 HTML 测试报告(ResultReport2 目录)。

3、查看报告

无论采用以上的哪种方式执行,进入到生成的 HTML 报告目录里,打开 index.html 文件即可查看测试报告。

3.1、Dashboard(仪表板)

Test and Report information:测试和报告信息: 测试结果保存文件/测试开始时间/测试结束时间/显示的过滤器。

APDEX (Application Performance Index):应用程序性能指数,范围在0-1之间,1表示达到所有用户均满意,可以在配置文件里设置。

Requests Summary:请求的通过率(PASS)与失败率(FAIL),百分比显示。

Statistics:统计表,提供每个事务的所有指标的摘要,包括3个可配置的百分位数。

Errors:错误表,提供所有错误的摘要及其在总请求中的比例。

Top 5 Errors by sampler:为每个 Sampler(默认情况下不包括事务控制器)提供前5个错误。

3.2、Charts(图表)

分为:Over Time(随着时间的推移)、Throughput(吞吐量)、Response Times(响应时间)

(1)Over Time

Response Times Over Time:随时间变化的响应时间

Response Time Percentiles Over Time (successful responses):响应时间百分比随时间变化(仅限成功响应)

Active Threads Over Time:随着时间的推移活动线程

Bytes Throughput Over Time:随时间推移的吞吐量,单位是字节

Latencies Over Time:随时间推移的延迟

Connect Time Over Time:随时间变化的连接时间

(2)Throughput

Hits Per Second:每秒点击次数

Codes Per Second:每秒响应状态码

Transactions Per Second:每秒事务数

Total Transactions Per Second:每秒总事务数

Response Time Vs Request:响应时间与每秒请求

Latency Vs Request:延迟与每秒请求

(3)Response Times

Response Time Percentiles:响应时间百分位数

Response Time Overview:响应时间概述

Time Vs Threads:时间与线程

Response Time Distribution:响应时间分布

3.3、Customs Graphs(定制图表)

Over Time(随着时间的推移)

在未进行设置时,默认是没有数据的。

例如:创建 Chunk Hit 图表。

打开 Jmeter 安装目录里的 bin 目录下的 user.properties 文件,在文件末尾添加如下内容:

sample_variables=ts-hit
jmeter.reportgenerator.graph.custom_testGraph.classname=org.apache.jmeter.report.processor.graph.impl.CustomGraphConsumer
jmeter.reportgenerator.graph.custom_testGraph.title=Chunk Hit
jmeter.reportgenerator.graph.custom_testGraph.property.set_Y_Axis=Number of Hits
jmeter.reportgenerator.graph.custom_testGraph.property.set_X_Axis=Over Time
jmeter.reportgenerator.graph.custom_testGraph.property.set_granularity=60000
jmeter.reportgenerator.graph.custom_testGraph.property.set_Sample_Variable_Name=ts-hit
jmeter.reportgenerator.graph.custom_testGraph.property.set_Content_Message=Number of Hits :

注:sample_variables 是将自定义变量保存到 .jtl 结果文件中的特殊属性。

文件保存后,再次执行脚本命令,例如:

jmeter -n -t test_demo.jmx -l result2.jtl -e -o /Users/wangmeng/Desktop/ResultReport2

打开新生成的 HTML 测试报告,自定义图表(Chunk Hit)已生成。

精彩推荐

面试笔试系列

思维导图系列

Linux常用命令壁纸

接口Requests系列

测试框架pytest系列

Jmeter快速上手之接口测试

自动化测试框架结构图

移动安全框架(MobSF)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter生成HTML性能测试报告 的相关文章

  • 在 Apache JMeter 中配置响应超时

    我试图检查特定 HTTP 请求的响应时间是否超过 30 秒 如果是 则将其标记为失败并停止线程 有时我可以看到响应时间接近 80 秒 没有浏览器等待服务器响应那么长时间 我发现了以下三种在 JMeter 中设置超时值的方法 但这让我很困惑
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 一文从0到1手把手教学UI自动化测试之数据驱动!

    在UI的自动化测试中 我们需要把测试使用到的数据分离到文件中 如果单纯的写在我们的测试模块里面 不是一个好的设计 所以不管是什么类型的自动化测试 都是需要把数据分离出来的 当然分离到具体的文件里面 文件的形式其实有很多的 这里主要说明JSO
  • JMeter 3.2 中不存在 SOAP/XML-RPC Sampler

    我有点惊讶我的 JMeter 3 1 脚本在 3 2 中不起作用 JMeter 3 2 中删除 SOAP XML RPC Sampler 的原因是什么 是否存在一些性能问题等 这是 JMeter 的一部分change http jmeter
  • 在 jMeter 的值字段中使用变量

    我添加了一个用户定义变量元素 然后创建一个值为 123456 的变量 Parameter 并将其传递到 GET 请求中 创建了第二个变量 Response 其值为 无效代码 123456 我添加了一个响应断言元素 将 Response 变量
  • 我们可以通过jmeter.bat和ApacheJMeter.jar打开JMeter。有什么不同?

    我们可以通过以下方式打开JMeterjmeter bat and ApacheJMeter jar 它们之间有什么区别 ApacheJMeter jar 文件是一个可执行 jar 因此如果它与 java 应用程序关联 则可以通过在 wind
  • 如何从 WebDriver Sampler 中设置 JMeter Vars?

    I had previously used a CSS JQuery extractor to get a URL from a page and add it to JMeter vars accessing it here var pa
  • JMeter 基本身份验证

    我试图暗示使用 JMeter 的 Web 服务的基本身份验证过程 但每次它都会抛出错误 401 Unauthorized 我尝试使用 HTTP 标头管理器向其添加标头授权和值 但它仍然不起作用 我还尝试过使用 HTTP 授权管理器 还是没有
  • CentOS 中的 JMeter 整数表达式预期错误

    在 CentOS 中执行 JMeter 脚本时出现以下错误 我的JMeter版本是4 0 Java是1 8 我的脚本在 Windows 中运行良好 这是我的 JMeter 命令和我收到的错误 root localhost bin sh jm
  • JMeter:为单个用户触发多个并发 HTTP 请求

    我有一个带有线程组和 Cookie 管理器的 JMeter 负载测试脚本 线程组中的用户首先使用HTTP采样器登录来获取cookie 然后 循环控制器触发交错采样器 该采样器在几个向服务器发出查询的 HTTP 采样器之间交替 现在 我希望交
  • 在 Jmeter 中使用 JsonPath 和 != 条件从 JSON 中提取一些值

    我有以下 JSON 我需要获取没有 type Jenkins 的实例的 id 值 data id 35002399 6fd7 40b7 b0d0 8be64e4ec09c name 94Jenkins url http 127 0 0 1
  • 增加 JMeter 执行期间的线程数

    我有一个性能测试JMeter并想用它来测试最大系统性能 吞吐量 因此 当错误率低于 2 时 应增加活动线程数 我发现Constant Throughput Timer 把它放入Thread Group但它只会暂停或减慢线程 我尝试将其定义如
  • 如何通过java编码生成Jmeter仪表板报告。 (不是 Windows 或 shell 命令)

    我必须通过java编码生成Jmeter仪表板报告 在java代码下面 我用来生成正常的jmeter报告 我必须生成一个 通过java的仪表板报告 public class JMeterFromExistingJMX public stati
  • 暂停和恢复 jmeter 执行

    我正在寻找暂停和恢复 JMeter 执行 单 多线程 的选项 1 Pausing and Resuming through command line 2 From the Jmeter UI 3 By coding in some lang
  • 使用 JMeter 将文件上传到 Rest API

    注意 我已经检查过BlazeMeter 教程 https www blazemeter com blog testing advanced rest api file uploads jmeter当我使用 文件上传 选项卡时 它将文档作为正
  • 在 JMeter 中,您可以指定变量来填充 HTTP 请求默认值吗?

    我希望能够从 CSV 文件中读取值 或者更理想的是 properties使用 JMeter 文件 然后在多个中使用它Test Plan是在HTTP Request Defaults as the Server Name or IP 以及Po
  • 无法在fiddler中捕获jmeter流量

    我创建了 JMeter 记录 但当我开始测试时 我在 Fiddler 中没有看到任何请求 我改变了 Fiddler 中的端口号为 8080 我在 JMeter 中使用该端口号 Steps 创建线程组 将Http请求添加到线程组并输入URL
  • Rest 服务器(Play Framework)在负载测试期间出现“Read Timed out”异常

    我们正在使用 Play Framework 在 REST 服务器上运行重负载测试 jmeter 350 个线程 35M 总请求 并在大约 2 小时后遇到以下错误 我们删除了其他组件 以便 request 只是接受请求而不执行任何操作 任何人
  • Jmeter动态生成请求的json负载

    我有一个 Jmeter 测试计划 我希望 HttpSampler 发送发布请求 请求正文应包含 Json 如下所示 productIds p1 p2 我设置了一个随机变量生成器 每次调用都会返回格式正确的 ProductId 我想做的是通过
  • 如何使用jmeter统计失败的请求

    我在跑步JMeter我想要统计所有失败的请求 这些请求要么超时 要么只是失败 我看到一些侦听器显示出现了失败 但没有人看到有一个字段显示失败请求与成功请求的总数 有谁知道我如何轻松获取这些数据而不必手动计算每次失败 要检查失败响应的数量 请

随机推荐

  • vue3.0---使用computed来获取vuex里数据

    不再是vue2 0里什么mapGetter mapState那些复杂的获取方式 vue3 0里直接使用computed就可以调用vuex里的数据了 喜大普奔 同时注意 一点 不可以直接使用useStore 方法里的state对象 因为在输出
  • css将文字置于图片上的方法

    我们在开发的时候 有大量的场景需要将文字至于图片之上 如图 以上是将 空山新雨后 天气晚来秋 加在图片之上 对于大多数情况 我们都可以将图片作为背景图引入 但有些时候不能将图片作为背景图引入 这个时候就要用到其他的方法 以下我们提供三种方法
  • MyBatis的lazy-loading是什么?

    MyBatis的lazy loading是什么 MyBatis的lazy loading 延迟加载 是一种数据查询策略 它允许仅在需要时才从数据库中获取相关联的数据 这是通过创建 Java 代理对象来实现的 该代理对象在真正需要相关对象时将
  • linux命令——man

    Shell 也称为终端或壳 用户与 Linux 系统的交互 常见执行Linux命令的格式是这样的 命令名称 命令参数 命令对象 注意 命令名称 命令参数 命令对象之间请用空格键分隔 命令对象一般是指要处理的文件 目录 用户等资源 而命令参数
  • Linux下搭建第一个区块链网络(FISCO BCOS)

    Linux下搭建第一个区块链网络 FISCO BCOS 概述 搭建单群组FISCO BCOS联盟链 配置及使用控制台 部署及调用HelloWorld合约 概述 FISCO BCOS是由国内企业主导研发 对外开源 安全可控的企业级金融联盟链底
  • Error:JAVA_HOME is not set and could not be found 解决般的法

    很多人按照网上的各类教程搭建hadoop 但经常在安装好了后 启动hadoop时出现各类的错误 本文就 Error JAVA HOME is not set and could not be found 这一错误提出解决办法 针对这个错误
  • 10.1~10.3国庆节技术沉淀

    国庆节没怎么学习 玩了一天 宿舍玩游戏两天 一次循环完成百钱白鸡 关键就在于先人工化简一下两个方程式 23456789的各位之和怎么求 现在也不会 好吧 现在会了 不太理解 求整数各位之和 author zlb date 10 3 impo
  • 2020年“金九银十”的面试宝典:腾讯,字节等大厂面试真题汇总

    前言 职场的金九银十跳槽季火热进行中 不同的是 今年的竞争比往年会更加激烈一些 形式更加严峻一些 对于求职者来说 面试是一道坎 很多人会恐惧面试 即使是工作很多年的老鸟 也可能存在面试焦虑 大家多多少少可能都听到或看到一些信息 就是好多公司
  • Spring Boot初识-2

    Spring Boot初识 2 1 整合Redis Spring传统的整合Redis 导入jedis包 利用IoC和DI帮你实现Jedis连接实例的管理 原本 JedisPool JedisPoolConfig 主机地址 数据库索引 密码
  • 操作系统(03)- 操作系统的运行机制和体系结构

    操作系统的运行机制和体系结构 计算机指令系统是计算机硬件的语言系统 也叫机器语言 它是软件和硬件的主要界面 从系统结构的角度看 它是系统程序员看到的计算机的主要属性 我们使用高级语言编写程序 最终都会被编译为机器语言 计算机才能识别 不清楚
  • 数据结构 之 栈【图文详解】

    栈是一种操作受限的线性表只允许从一端插入和删除数据 栈有两种存储方式 即线性存储和链接存储 链表 栈的一个最重要的特征就是栈的插入和删除只能在栈顶进行 所以每次删除的元素都是最后进栈的元素 故栈也被称为后进先出 LIFO 表 每个栈都有一个
  • 版本分支 第九届蓝桥杯国赛真题 第五题 java

    标题 版本分支 小明负责维护公司一个奇怪的项目 这个项目的代码一直在不断分支 branch 但是从未发生过合并 merge 现在这个项目的代码一共有N个版本 编号1 N 其中1号版本是最初的版本 除了1号版本之外 其他版本的代码都恰好有一个
  • 蓝桥杯2023年第十四届省赛-飞机降落

    题目描述 N 架飞机准备降落到某个只有一条跑道的机场 其中第 i 架飞机在 Ti 时刻到达机场上空 到达时它的剩余油料还可以继续盘旋 Di 个单位时间 即它最早 可以于 Ti 时刻开始降落 最晚可以于 Ti Di 时刻开始降落 降落过程需要
  • 企业微信可信域名个人配置方法,个人添加企业微信可信IP方法

    2022年12月14日 2 0版本方法已经发布 2 0版本可信域名配置 截止2022年12月11日 目前方法已经失效 目前2 0版本测试可用 来都来了点个赞可好 各平台累计浏览量13W左右 估计微信都想不到突然之间怎么这么多人用企业微信 之
  • linux fb设备驱动,Linux FB 驱动讲解

    基本原理 通过 framebuffer 应用程序用 mmap 把显存映射到应用程序虚拟地址空间 将要显示的数据写入这个内存空间就可以在屏幕上显示出来 驱动程序分配系统内存作为显存 实现 file operations 结构中的接口 为应用程
  • 性能检测标准

    性能检测标准 1 超时概率 超时概率如何看 利用断言持续时间 约定的响应时间 超出了这个时间就会在聚合报告中产生错误率 这个错误率就是超时概率 2 错误率 聚合报告中的错误率 3 TPS 每秒处理事务数 包括请求 处理 返回三个阶段 用户数
  • kubectl常用删除命令

    1 强制删除 pvc kubectl patch pvc pvc name p metadata finalizers null n namespace 2 强制删除 pod kubectl delete pod PODNAME force
  • vue @cli3.0和@cli2.0的区别及项目的搭建

    3 0 新加入了 TypeScript 以及 PWA 的支持 部分命令发生了变化 下载安装 npm install g vue cli 删除了vue list 创建项目 vue create 启动项目 npm run serve 默认项目目
  • 数据仓库架构详解

    学习目录 一 基本概念 二 核心框架 三 数仓大数据架构详解 流程 一 基本概念 数据仓库 Data Warehouse 是一个为数据分析而设计的企业级数据管理系统 数据仓库可集中 整合多个信息源的大量数据 借助数据仓库的分析能力 为企业指
  • Jmeter生成HTML性能测试报告

    目录 1 前言 2 生成报告 2 1 方式一 2 2 方式二 3 查看报告 3 1 Dashboard 仪表板 3 2 Charts 图表 3 3 Customs Graphs 定制图表 1 前言 使用 Jmeter 进行性能压测时 跑完全