简介
JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是Apache软件基金会的Stefano Mazzocchi JMeter的最初的开发。它主要对 Apache JServ(现在称为如Apache Tomcat项目)的性能进行测试。Apache后来重新设计JMeter 增强的图形用户界面和添加功能测试能力。这是一个具有图形界面,使用Swing 图形API 的 Java 桌面应用程序,因此可以运行在任何环境/工作站接受一个Java 虚拟机,例如:在Windows,Linux,MAC等。
JMeter是如何工作?
JMeter中模拟一组用户发送到目标服务器的请求和回报目标服务器/应用程序的性能/功能的统计数字表明,通过表格,图形等下图描述了这个过程。
JMeter主要的组件
测试计划
可以将测试计划可视化为用于运行测试的JMeter脚本。 测试计划由测试元素组成,例如线程组,逻辑控制器,样本生成控制器,监听器,定时器,断言和配置元素。测试计划中包含的所有内容都按照从上到下的顺序执行,或者按照测试计划中定义的顺序执行。
线程组
线程组表示JMeter在测试期间将使用的线程组。 线程组元素是任何测试计划的起点。
- 线程数:相当于用户数
- 加速时间(Ramp-up period):所有线程在多少时间内启动
Sampler采集器
采样器是允许JMeter将特定类型的请求发送到服务器的组件。它模拟用户对目标服务器的页面的请求。采样器是必须将组件添加到测试计划中的,因为它只能让JMeter知道需要将哪种类型的请求发送到服务器。 请求可以是HTTP,HTTP(s),FTP,TCP,SMTP,SOAP等。
请求第一个接口:
获取第一个接口返回值作为参数请求第二个接口:
后置处理器
在发出采样器请求之后执行后处理器元素。 如果后处理器连接到Sampler元素,那么它将在该sampler元素运行之后执行。后处理器最常用于处理响应数据,例如,为了将来目的而提取特定值。下面给出了JMeter提供的所有后处理器元素的列表:
- CSS/JQuery抽取器
- BeanShell后处理器
- JSR223后处理器
- JDBC后处理器
- 调试后处理器
- 正则表达式提取器
- XPath抽取器
- 结果状态操作处理程序
- BSF后处理器
正则表达式提取器:
逻辑控制器
逻辑控制器可帮助您控制线程中采样器处理顺序的流程。 它还可以更改来自其子元素的请求的顺序。以下是JMeter中所有逻辑控制器的列表:
- 运行时控制器
- IF控制器
- 事务控制器
- 录音控制器
- 简单控制器
- while控制器
- Switch控制器
- ForEach控制器
- 模块控制器
- 包括控制器
- 循环控制器
- 仅一次控制器
- 交错控制器
- 随机控制器
- 随机顺序控制器
- 吞吐量控制器
ForEach控制器:
监听器
当JMeter的采样器组件被执行时,监听器提供JMeter收集的关于那些测试用例的数据的图形表示。它便于用户在某些日志文件中以表格,图形,树或简单文本的形式查看采样器结果。监听器可以在测试的任何地方进行调整,直接包括在测试计划下。JMeter提供了大约15个监听器,但主要使用的是表,树和图形。以下是JMeter中所有监听器的列表:
- 图表结果
- 样条曲线可视化器
- 断言结果
- 简单的数据编写者
- 监控结果
- 分布图(alpha)
- 聚合图
- 梅勒展示台
- BeanShell监听器
- 总结报告
- 示例结果保存配置
- 图表完整结果
- 查看结果树
- 汇总报告
- 查看表格中的结果
查看结果树:
参考