Java程序员难道就不配拥有测试工具?

当然不!最牛逼的 Apache-jmeter 就是为你量身打造的 测压工具

Apache JMeter

JMeter官网

Apache-JMeter 官网https://jmeter.apache.org/download_jmeter.cgi

下载JMeter

去人家Apache-JMeter官网下载 zip包,就行了。

JMeter如何使用?

需要JDK环境 记得安装好JDK环境哦。

需要JDK环境 记得安装好JDK环境哦。

解压JMter - 启动JMeter

你下载的 ZIP 文件夹 并 打开解压的目录,bin目录下面有个 jmeter.bat 文件

双击 启动jmeter.bat 打开界面如图所示:

我这里是设置中选择中文启动的,所以是中文界面。

JMeter 开启中文UI

操作 在Jmetet 主界面 找到 --> 选项 - 选择语言 - 中文(简体)

了解JMeter操作元素之间的层级关系

JMeter核心元素

  • 测试计划 (Test Plain):是组织和管理测试的主要容器。它是 JMeter 测试的顶层元素,包含了所有的测试组件和配置元素。
  • 线程组(Thread Group):是测试计划的元素,在 JMeter 中用于模拟并发用户的主要组件之一。它定义了测试计划中的并发用户数、循环次数、启动延迟等参数,以及每个用户要执行的请求序列。

线程组的元素

线程组的”元素分类”

这里一大堆,只是分类,看起来文字越多,令人越烦,很多分类初学我们压根不关注,我们只需要关注分类高亮内容即可。

元素分类你甚至不需要关注,不同JMeter的分类名称、规则也是不尽相同的。所以大致了解高亮内容就行了。

  1. 逻辑控制器(Logic Controller):逻辑控制器用于控制请求的执行顺序和条件。常见的逻辑控制器包括 If 控制器、While 控制器、Switch 控制器等,它们根据特定的条件或逻辑来决定是否执行请求。
  2. 配置元素(Config Element):配置元素用于提供请求的配置信息,例如 HTTP 请求默认值、用户定义的变量、CSV 数据文件配置等。它们可以影响请求的行为和参数。
  3. 定时器(Timer):定时器用于模拟用户的请求间隔时间。您可以使用固定定时器(Constant Timer)或随机定时器(Random Timer)来控制请求之间的时间间隔。
  4. 前置处理器(Pre-Processor)和后置处理器(Post-Processor):前置处理器和后置处理器用于在发送请求之前或之后对请求进行预处理或后处理。例如,可以使用正则表达式提取响应中的数据,或者使用 BeanShell 脚本对请求进行动态修改。
  5. 监听器(Listener):监听器用于收集和显示测试结果。您可以添加各种类型的监听器来查看请求的响应时间、错误率、并发用户数等信息。常见的监听器包括查看结果树(View Results Tree)、聚合报告(Aggregate Report)、图表(Graphs)等。
  6. 断言(Assertion):断言用于验证请求的响应是否符合预期。您可以添加各种类型的断言来检查响应的内容、状态码、响应时间等。常见的断言包括响应断言(Response Assertion)、大小断言(Size Assertion)等。
  7. 配置元件(Configuration Element):配置元件用于配置 JMeter 的一些全局设置,如代理服务器、 SSL 设置、用户定义的变量等。

线程组元素”具体实例”

  • HTTP请求:线程组执行的元素。
  • 查看结果树:线程组执行后统计的元素。
  • 汇总图:线程组执行后统计的元素。
  • 响应时间图:线程组执行后统计的元素。

太多了我不介绍了,如图,自己去创建出来吧

实操:JMeter线程组循环发送请求

我们先编辑”线程组”

上图有个不合理的地方,就是Ramp-UP时间(秒),原则上我们统计的维度是每秒钟X个,推荐写成1

“线程组”添加”HTTP请求”

随便简单设置一些内容。

启动前,会让你去保存这个文件,不保存也能运行!

我们先看下启动前 文章阅读数:

当前 阅读数是:135

启动”线程组”

我们启动后 大约 10s,在去看下文章阅读数吧:

阅读数是 205 了 。

这种形式,会多服务器进行大量的网络压力、CPU压力等等。请不要利用此长时间测试,更不能利用此 DDoS 别人!

JMeter 监听器(监听器用于收集和显示测试结果)

注意:监听器的结果是多次线程组多次执行后的结果,如果想获得单次线程组的执行结果,每次执行线程组前需要清理一下监听器下面内容的数据哦!

例如:"查看结果树" - "右键" - "清除" 即可

察看结果树/查看结果树

注意这里不同JMeter版本汉化UI不同导致名称有点差异!

添加”察看结果树”步骤

"线程组" - "添加" - "监听器" - "查看结果树"

注意,如果 创建多个 察看结果树 ,那么每个 结果树都会有结果,实际我们只需要一个 结果树就够了。创建 多个结果树,无非增加JMeter的的压力。

创建结果 如图:

直接 启动我们的JMeter线程组, 随便 选择一个 结果树的 结果

完成!!!

汇总报告

添加”汇总报告”步骤

"线程组" - "添加" - "监听器" - "汇总报告"

线程组发送请求后,会有一个统计结果

JMeter也支持将统计结果转换为图

"线程组" - "添加" - "监听器" - "汇总图"

"线程组" - "添加" - "监听器" - "响应时间图"

自己研究下吧,我就不贴图了。

JMeter技巧补充

JMeter导入cURL

导入cURL弹窗截图

导入结果

模拟多个用户发送请求

JMeter可以从文件中获取数据作为参数发送请求。

${token}

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤