测试工具JMeter入门

Posted by Kaka Blog on August 23, 2018

简介

JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是Apache软件基金会的Stefano Mazzocchi JMeter的最初的开发。它主要对 Apache JServ(现在称为如Apache Tomcat项目)的性能进行测试。Apache后来重新设计JMeter 增强的图形用户界面和添加功能测试能力。这是一个具有图形界面,使用Swing 图形API 的 Java 桌面应用程序,因此可以运行在任何环境/工作站接受一个Java 虚拟机,例如:在Windows,Linux,MAC等。

JMeter是如何工作?

JMeter中模拟一组用户发送到目标服务器的请求和回报目标服务器/应用程序的性能/功能的统计数字表明,通过表格,图形等下图描述了这个过程。

JMeter主要的组件

测试计划

可以将测试计划可视化为用于运行测试的JMeter脚本。 测试计划由测试元素组成,例如线程组,逻辑控制器,样本生成控制器,监听器,定时器,断言和配置元素。测试计划中包含的所有内容都按照从上到下的顺序执行,或者按照测试计划中定义的顺序执行。

img

线程组

线程组表示JMeter在测试期间将使用的线程组。 线程组元素是任何测试计划的起点。

  • 线程数:相当于用户数
  • 加速时间(Ramp-up period):所有线程在多少时间内启动

img

Sampler采集器

采样器是允许JMeter将特定类型的请求发送到服务器的组件。它模拟用户对目标服务器的页面的请求。采样器是必须将组件添加到测试计划中的,因为它只能让JMeter知道需要将哪种类型的请求发送到服务器。 请求可以是HTTP,HTTP(s),FTP,TCP,SMTP,SOAP等。

请求第一个接口:

img

获取第一个接口返回值作为参数请求第二个接口:

img

后置处理器

在发出采样器请求之后执行后处理器元素。 如果后处理器连接到Sampler元素,那么它将在该sampler元素运行之后执行。后处理器最常用于处理响应数据,例如,为了将来目的而提取特定值。下面给出了JMeter提供的所有后处理器元素的列表:

  • CSS/JQuery抽取器
  • BeanShell后处理器
  • JSR223后处理器
  • JDBC后处理器
  • 调试后处理器
  • 正则表达式提取器
  • XPath抽取器
  • 结果状态操作处理程序
  • BSF后处理器

正则表达式提取器:

img

逻辑控制器

逻辑控制器可帮助您控制线程中采样器处理顺序的流程。 它还可以更改来自其子元素的请求的顺序。以下是JMeter中所有逻辑控制器的列表:

  • 运行时控制器
  • IF控制器
  • 事务控制器
  • 录音控制器
  • 简单控制器
  • while控制器
  • Switch控制器
  • ForEach控制器
  • 模块控制器
  • 包括控制器
  • 循环控制器
  • 仅一次控制器
  • 交错控制器
  • 随机控制器
  • 随机顺序控制器
  • 吞吐量控制器

ForEach控制器: img

监听器

当JMeter的采样器组件被执行时,监听器提供JMeter收集的关于那些测试用例的数据的图形表示。它便于用户在某些日志文件中以表格,图形,树或简单文本的形式查看采样器结果。监听器可以在测试的任何地方进行调整,直接包括在测试计划下。JMeter提供了大约15个监听器,但主要使用的是表,树和图形。以下是JMeter中所有监听器的列表:

  • 图表结果
  • 样条曲线可视化器
  • 断言结果
  • 简单的数据编写者
  • 监控结果
  • 分布图(alpha)
  • 聚合图
  • 梅勒展示台
  • BeanShell监听器
  • 总结报告
  • 示例结果保存配置
  • 图表完整结果
  • 查看结果树
  • 汇总报告
  • 查看表格中的结果

查看结果树:

img

参考

JMeter教程