本文译自https://www.guru99.com/jmeter-element-reference.html
JMeter中的元素是什么?
Jmeter中每种不同的组件统称为元素。每种组件都为特殊的作用而设计,下图展示了一些常用的公共元素:
学习JMeter中所有的元素需要花费大量时间,本文我们主要讨论常用的几种类型元素,足够解决日常大多数需求;其他不常使用的可以参考官方文档。
本文主要讨论如下元素,其他元素的详细用法实例,会在后续文章中讨论。
Thread Groups 线程组
Samplers 取样器(各种请求)
Listeners 监听器
Configuration 配置
Thread Groups(线程组)
线程组是多个线程的一个集合。每一个线程代表被测试系统上的一个独立用户,线程模拟一个真实用户对被测试系统进行请求。
举个例子:
一个测试脚本中使用100个线程,则表示JMeter模拟100个用户对站点进行请求。
Samplers (采样器)
之前说到JMeter支持HTTP\FTP\JDBC\SMTP等各种协议的请求测试,也知道了线程组可以模拟多个用户进行测试请求,但线程组是如何知道我们要发什么类型的请求呢?其实现就是依赖于samplers来做到的。
FTP请求
让我们假想一下,我们需要登陆一个ftp进行下载、上传文件时,应该如何测试呢?JMeter中提供的ftp request类型的采样器就可以帮我们实现如下目的。
我们可以新建一个FTP Request配置对应的参数如下;
上述配置将实现,发送FTP请求到ftp.example.com的Server端,使用默认端口21,使用用户名和密码,下载Text.txt这个文件到本地。
HTTP Request
HTTP请求是最常使用的组件之一。可以模拟用户对HTTP服务器发送请求,并支持http header\cookies等管理。假如我们请求google,对方返回response和其他资源(image),其过程如下图:
具体的使用将在后续文章的实例中使用。
JDBC Request
JDBC请求用来测试数据库的情况; 模拟请求发送到SQL型和NoSQL型数据库; 流程如下图
举个例子:
数据库服务器上有个库名testdb,存在表testtable,我们要查询的结果为testresult,使用本地数据库服务器示例配置如下:
请求配置如下图
Listeners
监听器是对测试的结果进行监听和收集,以图像、报表、树形图、日志等方式呈现测试结果。
Graph结果是按请求的时间来显示测试结果,包括响应时间、正确率、平均时间、总请求次数等参数
View Result Tree
查看结果树,将响应以html的格式展示如下
View Result in Table
表格形式查看响应结果如下,另外,统计报告、聚合报表,自动为线程组中请求与响应进行统计与聚合,以报告形式展示出来。
Configuration Elements
配置元素用来为Samplers设置不同的配置、数据化等前置条件; 主要功能:参数化(数据提供)、请求协议的数据准备(http request header\ cookies manager\ TCP defualt等),具体如下图
具体每类的使用可以参考用户手册或官方网站实例。