性能工具之 JMeter 常用组件介绍(一)

举报
zuozewei 发表于 2024/08/07 12:17:04 2024/08/07
561 0 0
【摘要】 性能工具之 JMeter 常用组件介绍(一)

本文主要介绍JMeter Thread Group、View Results Tree、Aggregate Report的功能

一、下载及安装

1、下载

Apache JMeter™
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

官网网站为:

安装:

在这里插入图片描述
点击bin目录下的jmeter.bat文件即可启动jmeter.

帮助文档: https://jmeter.apache.org/usermanual/get-started.html

2、插件

插件安访问:https://jmeter-plugins.org/install/Install/
在这里插入图片描述

下载后存放位置:
在这里插入图片描述

  1. 下载成功后将jar包放到jmeter的 lib/ext 目录下,重启 JMeter 即可
  2. 验证插件可以使用

在这里插入图片描述
查看插件
在这里插入图片描述

二、常用组件

1、Thread Group

步骤一:新建线程组 【Thread Group】
步骤二:添加请求类型【sampler】
步骤三:增加结果参看树【view results tree】

1、添加线程组
TestPlan–>右键–>add–>Threads(Users),添加Thread Group
在这里插入图片描述
解释:
Threads(Users):

  • setUp Thread Group
  • tearDown Thread Group

这个两个组件在工作中不是必须的,setUp Thread Group用来做初始化的工作,Thread Group是工作常用组;tearDown Thread Group用来做清理工作;

2、添加Sampler(演示使用HTTP Request)
选中group,右键–>add–>Sampler–>选择要测试的协议类型,以HTTP Request为例.
在这里插入图片描述

显示:
在这里插入图片描述
说明:

  • Protocol[http]:不写就是默认的HTTP
  • Server Name or IP:www.7dtest.com 【默认不需要带http://】
  • Port Number:HTTP默认为80
  • Path:/表示根目
  • Paramters:分两种方式一种为key–>value与json两种方式

3、添加查看结果

选中TestPlan–>右键–>add–>Listener–>View Results Tree,
在这里插入图片描述

点击请求:
在这里插入图片描述

弹出警告:
在这里插入图片描述
为你是否保存之后运行。

2、View Results Tree

View Results Tree组件可以很方便的查看请求的数据,响应的数据,当出现问题的时候可以用来分析问题,在jmeter中使用的频率很高
在这里插入图片描述

1.Write results to file/Read from file
在这里插入图片描述

  • Filename:可以将执行结果保存到Filename指定的文件中,注意:默认保存在jmeter的bin目录下。如果勾选了后面的Errors,那么只保存错误信息;如果勾选了Success,那么只保存执行成功的信息;都不勾选的话保存所有的信息。
  • Browser:可以打开之前保存过的测试文件,将测试信息显示到下面的result栏中。如果勾选了后面的Errors,那么只显示错误信息;如果勾选了Success,那么只显示执行成功的信息;都不勾选的话显示所有的信息。

2.Text:默认的显示方式,原始的HTML文本
在这里插入图片描述
在这里插入图片描述

3.HTML:以类似浏览器的格式查看响应数据
在这里插入图片描述
4.RegExp Tester:支持正则用来做检查点或者关联使用
如:<title>(.*?)</title>
在这里插入图片描述

  • [1][0]:表示整个匹配的表达式
  • [1][1]:表示分组中的内容

5.XPath Tester:xpath方式提取内容
在这里插入图片描述
参考语法:https://www.w3school.com.cn/xpath/index.asp

  • Use Tidy?:当需要处理的页面是HTML格式时,必须选中该选项,当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。
  • Reference Name:存放提取出的值的参数。
  • XPath Query:用于提取值的XPath表达式。
  • Default Value:参数的默认值

6.JSON PATH Tester 使用方式为:
在这里插入图片描述
如果:$.extend.pageInfo.pageSize

参考Java代码如下:

 /**
     * 通过json获取值
     * 李文 2020-03-25
     * @param json
     * @param path
     * @param filter
     * @return
     */
 public static Object jsonPath(String json, String path, Filter... filter) {
        try {
            return filter.length == 0 ? JsonPath.parse(json).read(path, new Predicate[0]) : JsonPath.parse(json).read(path, new Predicate[]{filter[0]});
        } catch (PathNotFoundException var4) {
            log.error(var4.getMessage());
            return null;
        }
    }

以上取值待遇也是按$.开头取值;

7.Scroll automatically:请求很多时可以自动滚屏

如果勾选会自动滚屏
在这里插入图片描述
View Results Tree视图为:
在这里插入图片描述

sampler result:

在这里插入图片描述

说明:

  • Thread Name: Thread Group 1-1:Thread Group 2线程组的编号,1是线程组内线程的编号
  • Load time: 整个请求的执行时间
  • Connect Time: 连接时间
  • Latency: 延迟时间
  • Size in bytes: Headers size in bytes + Body size in bytes
  • Sent bytes:发送的字节数

request 请求数据:
在这里插入图片描述

Response data 响应数据:
在这里插入图片描述

3、Aggregate Report

聚合报告简单说明使用
在这里插入图片描述
运行结果:
在这里插入图片描述

说明:

  • Label:标签。如果选择了Include group name in label?这个选项,就会添加线程组的名称作为前缀(当聚合报告监控多个线程组时就勾上)
  • Samples:具有相同名称的样本数
  • Average:平均响应时间(单位:毫秒),默认是单个request的平均响应时间,当使用了事务控制器(Transaction Controller)的时候,也可以以事务为单位统计响应时间
  • Median:中位数。也就是50%的样本不超过这个时间
  • 90% Line:90%的样本不超过这个时间
  • 95% Line:95%的样本不超过这个时间
  • Min:具有相同标签样本的最小执行时间
  • Maximum:具有相同标签样本的最大执行时间
  • Error %:错误百分比
  • Throughput:吞吐量,一般认为是TPS。吞吐量以每秒/分钟/小时的请求量来衡量。当TPS很低时,jmeter会默认以分钟为单位统计。
  • Received KB/Sec:每秒收到的以千字节为单位的吞吐量
  • Sent KB/Sec:每秒发送的以千字节为单位的吞吐量
  • Save Table Data:把数据保存到csv文件中
  • include group name in label?:会将线程组的名字作为前缀显示

在这里插入图片描述
打开文件如:
在这里插入图片描述
简单说明:
在这里插入图片描述
改图配置可以根据实际情况选择
在这里插入图片描述

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。