JMeter基础---全组件目录


概述

在这里插入图片描述

1)线程组

序号名称含义
原生线程组有:
1)setUp线程组无论何种情况下,最先执行的线程组,页面配置同线程组
2)tearDown线程组无论何种情况下,最后执行的线程组,页面配置同线程组
3)线程组最常用的
可安装插件新增:
4)bzm - Arrivals Thread Group到达线程组,模拟用户在一段时间内的操作次数,达到这个负载。
5)bzm - Free-Form Arrivals Thread Group自由格式到达线程组,类似到达线程组,可以同时添加多个到达(迭代)设置。
6)jp@gc - Stepping Thread Group步进线程组,阶梯式加压/阶梯式减压,因为可以设置查看加/减压的整个过程。
7)bzm - Concurrency Thread Group并发线程组,步进线程组的替代方案。
8)jp@gc - Ultimate Thread Group 最终线程组,可以灵活的添加多种不同的负载方式同时运行。

返回目录

2)配置元件

序号名称含义
原生配置元件有:
1)CSV Data Set ConfigCSV 数据文件设置,用来导入外部文件数据,参数化脚本
参数化操作
2)JDBC Connection Configuration JDBC连接配置,连接数据库使用的。参考案例
3)计数器 可以用来统计迭代次数,数字格式可以自己设置。参考案例
4)Random Variable数据变量,可以按照指定格式随机输出数字字符。参考案例
5)用户定义的变量自定义一系列变量,方便使用。参考案例
6)FTP请求缺省值FTP Request Defaults,用于设置FTP请求的默认值。参考案例
HTTP属性管理系列五个:参考案例
7) HTTP Cache Manager HTTP 缓存管理器,提供缓存功能,模拟浏览器行为
8)HTTP Cookie 管理器 用来存储浏览器产生的用户信息
9)HTTP信息头管理器可以添加HTTP请求头 ,设置不同的请求类型
10)HTTP授权管理器HTTP Authorization Manager,用于设置自动对一些需要NTLM验证的页面进行认证和登录,NTLM是WinNT早期版本的标准安全协议
11) HTTP请求默认值HTTP Request Defaults,设置HTTP请求使用的默认值
LDAP系列:
12)LDAP Extended Request DefaultsLDAP扩展请求默认值,为LDAP扩展测试设置默认值
13)LDAP请求默认值为LDAP测试设置默认值
不常用:参考案例
14)Java请求默认值Java Request Defaults,为Java测试设置默认值。参考案例
15)DNS Cache ManagerDNS缓存管理器,提供静态表来管理host,
16)Keystore Configuration 密钥库配置,配置密钥库的加载方式以及它将使用的密钥。
17)TCP取样器配置为TCP取样器提供默认数据
18)登陆配置元件/素 为提取器添加或重载用户名和密码
19)简单配置元件可以在提取器中添加或重载任意值,主要是供开发人员在开发新的JMeter组件时使用的基本GUI
可安装插件新增:安装参考
20) jp@gc - Lock File Config
21)jp@gc - Variables From CSV File

返回目录

3)定时器

使用简介

插件安装

序号名称含义
原生定时器有:
1)Constant Throughput Timer常数吞吐量定时器,控制每分钟请求数量。
2)Synchronizing Timer 同步定时器,并发数设置用它。
控制延迟的组件:
3)BeanShell Timer BeanShell定时器可用于生成延迟
4)JSR223 Timer可使用JSR223脚本语言生成延迟
控制时停的组件:
5)Constant Timer固定定时器,用于添加相同固定的延迟
6)Uniform Random Timer统一随机定时器,模拟不同的延迟长度。这有助于在网页上模拟现实的用户行为。
7)Poisson Random Timer泊松随机定时器,该定时器暂停每个线程请求一段随机时间,大部分时间间隔发生在特定值附近。总延迟是泊松分布值和偏移值之和。
8)Caussian Random Timer高斯随机定时器,可以让每个线程在请求之间暂停一段随机时间。总延迟是高斯分布值加偏移值之和。
可安装插件新增:
9)jp@gc - Throughput Shaping Timer
5.1版本新增的组件
10)Precise Throughput Timer(准确的吞吐量定时器)

返回目录

4)前置处理器

使用简介

插件安装

序号名称含义
原生前置处理器有:
1)用户参数允许用户指定特定于各个线程的用户变量的值。
2)JDBC PreProcessorJDBC预处理程序,使您可以在样本运行之前运行一些SQL语句。参考案例
3)RegEx User Parameters正则表达式用户参数,允许使用正则表达式从一个HTTP请求中提取指定动态值并传递到另一个HTTP参数。
4)Sample Timeout取样器超时,如果完成时间过长,此前置处理器会调度计时器任务以中断样本。
5)HTML 链接解析器此修饰器解析来自服务器的HTML响应并提取链接和表单
6)HTTP URL 重写修饰符此修饰器与HTML链接分析器的工作方式类似,不同之处在于它具有比HTML链接分析器更易于使用的特定目的,并且效率更高。
需要运行代码的组件:
7)BeanShell PreProcessorBeanShell预处理程序,允许在采样之前应用任意代码。
8)JSR223 PreProcessorJSR223预处理程序,允许在采样之前应用JSR223脚本代码。
可安装插件新增:
9)jp@gc - Inter-Thread Communication PreProcessor作用是跨线程组传递数据,类似函数_setProperty 和 _property,需要配合后置处理器jp@gc - Inter-Thread Communication PostProcessor来使用。
10)jp@gc - Raw Data Source PreProcessor原始数据源预处理器

返回目录

5)取样器

插件安装

取样器简介1

取样器简介2

取样器简介3

序号名称含义
原生取样器有:
1)HTTP Request最常使用的取样器
2)JDBC Request 此取样器允许您将JDBC请求(SQL查询)发送到数据库。参考案例
3)JUnit Request 当前实现支持标准JUnit约定和扩展。
4)FTP请求从ftp上下载文件,和上传文件到ftp中。参考案例
5)Java请求java请求和jp@gc - Dummy Sampler(虚拟取样器)作用差不多,可以用来模拟一个接口的请求和返回。
6)Debug Sampler调试取样器,就是用来查看我们后置处理器提取的数据是否正确。
7)AJP/1.3 Sampler
8)Access Log Sampler访问日志采样器,AccessLogSampler旨在读取访问日志并生成http请求。
JMS系列组件:
9)JMS Point-to-PointJMS 点到点,此取样器通过点到点连接(队列)发送并可选地接收JMS消息。与发布/订阅消息不同,它通常用于处理事务。
10)JMS PublisherJMS 发布,JMS发布将消息发布到给定目标(主题/队列)。
11)JMS SubscriberJMS 订阅,JMS订阅将订阅给定目标(主题或队列)中的消息。
LDAP系列组件:
12)LDAP Extended Request LDAP扩展请求,此取样器可以将所有8个不同的LDAP请求发送到LDAP服务器。它是LDAP取样器的扩展版本,因此配置起来比较困难,但可以更接近真实的LDAP会话。
13)LDAP请求此取样器允许向LDAP服务器发送不同的LDAP请求(添加,修改,删除和搜索)。
需要代码的组件:
14)JSR223 Sampler使用JSR223脚本代码来执行一个样本或创建/更新变量所需的一些计算。
15)BeanShell Sampler使用BeanShell脚本语言编写取样器。
不常用:
16) SOAP/XML - RPC Request
17)OS Process SamplerOS进程取样器,OS进程取样器是一个可用于在本地计算机上执行命令的取样器。
18)Test Action测试活动,测试活动取样器是一个适用于条件控制器的取样器。测试元件不是生成样本,而是暂停或停止所选目标。
19)SMTP Sampler SMTP取样器可以使用SMTP/SMTPS协议发送邮件。可以为连接(SSL和TLS)以及用户身份认证设置安全协议。如果使用安全协议,则将对服务器证书进行验证。
20)TCP取样器 TCP取样器打开与指定服务器的TCP/IP连接。然后发送文本,并等待响应。
21)Mail Reader Sampler 邮件阅读者取样器,可以使用POP3(S)或IMAP(S)协议读取(可选删除)邮件消息。
可安装插件新增:
22) jp@gc - Dummy Sampler虚拟取样器,
23)jp@gc - HTTP Raw Request HTTP原始请求,
24)jp@gc - UDP Request

返回目录

6)后置处理器

请求是用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们势必要对这些响应数据进行处理,后置处理器就是用来完成这项工作的。

使用简介

插件安装

序号名称含义
原生后置处理器有:
1) 正则表达式提取器 将响应数据进一步提取供后面使用。提取文本内容
2) XPath Extractor 该测试元素允许用户使用XPath查询语言从结构化响应-XML或(X)HTML中提取值。提取页面元素属性值
3) JSON Extractor 可以使用JSON-PATH语法从JSON响应中提取数据。该后处理器与正则表达式提取器非常相似。
4) JDBC PostProcessor JDBC后置处理程序使您可以在样本运行后立即运行一些SQL语句。如果JDBC样本更改了某些数据,并且您希望将状态重置为JDBC样本运行之前的状态,那么这将非常有用。参考案例
5) Debug PostProcessor 调试后置处理程序,作用和调试取样器一样。
6) CSS/JQuery Extractor 允许用户使用CSS选择器语法从服务器HTML响应中提取值。
7) Result Status Action Handler 结果状态处理器,此测试元件允许用户在相关取样器发生故障后停止线程或整个测试。
需要代码的组件:
8) BeanShell PostProcessor
9) JSR223 PostProcessor
可安装插件新增:
10) jp@gc - Inter-Thread Communication PostProcessor 作用是跨线程组传递数据,类似函数_setProperty 和 _property,需要配合前置处理器jp@gc - Inter-Thread Communication PreProcessor来使用。
11) jp@gc - XML Format Post Processor

返回目录

7)逻辑控制器

控制器用于在线程组内通过Sampler(提取器)实现各种测试逻辑,可以定义提取器执行的条件

插件安装

逻辑控制器1

逻辑控制器2

序号名称含义
原生逻辑控制器有:
控制如何循环执行的:
1) Loop Controller 循环控制器,控制在其下面的子元素循环执行。
2) ForEach Controller 遍历一组相关变量的值。
3) While Controller 循环执行其下面的测试元件,直到写入的条件为False。
4) Alternate controller 交替控制器,交替执行其下面的测试元件。
5) Random Controller 随机控制器,每次循环随机执行一个。
6) Random Order Controller 随机顺序控制器,其下面的测试元件全部执行,但是顺序是随机的
控制执行条件的:
7)如果(if)控制器 If控制器允许用户控制其下方的测试元件(其子元件)是否运行。
8) Switch Controller Switch控制器的作用类似于交替控制器,它在每次迭代时运行一个子元件,但控制器运行顺序不是按排列顺序,而是按switch value定义。
9) Throughput Controller 吞吐量控制器,控制该控制器下采集器执行的频率。参考案例
10) Runtime Controller 运行时长控制器,控制其下面的测试元件运行执行的时间
11) Once Only Controller 仅一次控制器,控制在其下面的测试原件仅执行一次(如果它的父级是循环控制器的话,每一次循环都会执行一次)
12) Critical Section Controller 临界部分控制器,确保这个控制器下的测试元素在一个线程中执行
功能性:
13) Simple Controller 简单控制器,使用率最高的控制器之一,没有特殊作用,就是单纯的为提取器和其他逻辑控制器做区分
14) Transaction Controller 事务控制器,生成一个额外的采集器,用于测量嵌套在其内的测试元素执行的总时间
15)Module Controller 模块控制器,执行到该模块控制器时,会执行该控制器指定的目标控制器
16) Include Controller 包含控制器,加载一个外部的JMX文件,配合测试片段元件使用
17) Recording Controller 录制控制器 ,是一个存放位置,在使用HTTP代理服务器的时候,所有录制的采样都被保存在录制控制器下
可安装插件新增:
18)bzm - Weighted Switch Controller 加权开关控制器,按照设置的权重比来执行该子元素。 参考案例
19) jp@gc - Parameterized Controller 参数化控制器,如果需要使用不同的参数执行相同动作的重复序列,则可以使用“参数化控制器”插件 参考案例

返回目录

8)断言

  • 断言就是让程序代替人工,去判断程序响应数据是否达到预期结果
  • 程序更安全,高效,功能强大

插件安装

使用简介

序号名称含义
原生断言)
1) 响应断言 对服务器的响应内容进行断言。
2) Compare Assertion 比较断言,
3) MD5Hex断言 针对参数类型为MD5Hex加密的参数的断言
4) Size Assertion 对响应内容的大小进行断言
5) SMIME Assertion
8) XML Schema Assertion
9) XML断言
10) XPath Assertion
12)断言持续时间 断言响应时间的。
10) HTML Assertion
11) JSR223 Assertion
12)BeanShell 断言

返回目录

9)监听器

序号名称含义
可安装插件新增:安装参考
基本数据展示:参考案例
1) 察看结果树 显示全部请求的响应和请求数据,无论成功或是失败。压力测试不要用。
2) 用表格察看结果表格式的察看结果树,为每个样本创建一行,使用大量内存。用于快速估计被测系统的行为。 压力测试不要用
3) 断言结果 帮助我们显示断言的结果,不显示通过的断言。压力测试不要用。
4)Comparison Assertion Visualizer比较断言可视化器 ,
5) Backend Listener后端监听器,后端侦听器是一个异步侦听器。
6) jp@gc - Console Status Logger 外部插件,控制台状态记录器
7)jp@gc - Page Data Extractor 外部插件,页面数据提取程序
8)jp@gc - Transaction Throughput vs Threads 外部插件,吞吐量和线程关系图
聚合数据展示:参考案例
9) 聚合报告 聚合报告为测试中的每个不同命名的请求创建一个表行。展示请求响应时间,吞吐量等数据结果。
10) Summary Report汇总报告,这是为测试中的每个不同名字的请求创建一个表行。和聚合报告类似,只是它使用更少的内存。
11) Aggregate Graph 汇总图,汇总图与聚合报告类似。主要区别在于汇总图提供了一种生成条形图并将图形保存为PNG文件的简便方法。
12) 图形结果图形结果监听器生成一个简单的图形,用于绘制所有取样时间。压力测试不要用。
13) Generate summary results生成概要结果,该组件可以让结果在CMD(Windows 系统下)窗口显示。
14) jp@gc - Graphs Generator 外部插件,图形生成器,生成多种指标数据图,为当前测试结果生成CSV / PNG。
15) jp@gc - Synthesis Report (filtered) 外部插件,可过滤的聚合报告,综合报告是摘要报告和汇总报告之间的混合。
文件写出:参考案例
16) Simple Data Writer 简单数据写入器,没有图形化显示结果,更加高效的执行保存测试结果。
17) 保存响应到文件 用来存储服务器响应数据。
18)jp@gc - Flexible File Writer 外部插件,灵活的文件编写器,更灵活的简单数据录入。
代码自定义和系统管理:
19)JSR223 Listener
20) BeanShell Listener
21) jp@gc - PerfMon Metrics Collector 外部插件,接收的CPU使用率,存储器消耗,磁盘和网络利用率度量,并提供报告。
22)jp@gc - AutoStop Listener 外部插件,自动停止监听,配置为如果响应时间超过某个值或错误百分比率高于定义的限制,则测试将停止执行。参考案例
23)jp@gc - Composite Graph 外部插件,组合式监听,合并来自脚本中配置的其他侦听器的所有信息。 参考案例
24) 邮件观察仪 设置在一定情况给不同人员发送邮件通知。参考案例
跟随测试时间的指标监控:参考案例
25) jp@gc - Active Threads Over Time 外部插件,测试时间和活动线程关系图
26)jp@gc - Connect Times Over Time 外部插件,测试时间和连接时间关系图
27) jp@gc - Bytes Throughput Over Time 外部插件,测试时间和字节吞吐量关系图
28)jp@gc - Hits per Second 外部插件,测试时间和点击量关系图
29) jp@gc - Response Codes per Second 外部插件,测试时间和响应代码关系图
30) jp@gc - Response Latencies Over Time 外部插件,测试时间和响应延迟关系图
31) jp@gc - Transactions per Second 外部插件,测试时间和事务数关系图
32) jp@gc - JMXMon Samples Collector 外部插件,测试时间和JMX性能指标关系图
33) jp@gc - DbMon Samples Collector 外部插件,测试时间和SQL读写性能的关系图
跟随响应时间的指标监控:参考案例
34)Response Time Graph 响应时间图,以图形的形式显示取样器的响应时间结果,单位是毫秒。
35) jp@gc - Response Times Over Time 外部插件,响应时间和测试时间关系图
36) jp@gc - Response Times Distribution 外部插件,响应时间柱状分布图
37) jp@gc - Response Times Percentiles 外部插件,响应时间百分比
38) jp@gc - Response Times vs Threads 外部插件,响应时间和活动线程数关系图

返回目录

10)函数

  • Jmeter 中使用函数,打开内置函数功能模块
  • 选择要调用的函数,传参数,生成调用格式
  • 哪里需要粘哪里
  • 是程序中的封装单元(最小的),封装一些功能实现 易读,易维护 实现功能复用

启动方式:

  1. 菜单(选项)–>函数助手对话框
  2. Ctrl+Shift+F1
  3. 工具栏倒数第二个 图标"记事本"
    在这里插入图片描述

函数的格式:.

 ${__functionName(var1,var2,var3)} 

 1) ${} 函数引用固定格式和参数化相同
 2) __functionName匹配被调用的函数名称;
 3) 用圆括号包含函数的形参,例如${__time(YMD)},不同函数要求的参数也不同;
 4) 有些JMeter函数不要求参数,则可以不使用圆括号,例如${__threadNum};
内容 **Jmeter中的函数列表按照字母的顺序展示依次为:**
字母函数含义
B base64Decode
base64Encode
BeanShell
C changeCase
char
chooseRandom
counter
CSVRead
D dateTimeConvert
digest
doubleSum
E env
escapeHtml
escapeOroRegexpChars
escapeXml
eval
evalVar
F fifoGet
fifoPop
fifoPut
fifoSize
FileToString
G groovy
I if
intSum
isDefined
isPropDefined
isVarDefined
iterationNum
J javaScript
jexl2
jexl3
L log
logn
longSum
lowercase
M machineIP
machineName
MD5
PP
property
R Random
RandomDate
RandomFromMultipleVars
RandomString
regexFunction
S samplerName
setProperty
split
StringFromFile
strLen
strReplace
substring
T TestPlanName
threadGroupName
threadNum
time
timeShift
Uunescape
unescapeHtml
uppercase
urldecode
urlencode
UUID
VV
X XPath

返回目录

学习地址:

书籍:

  • 《全栈性能测试修炼宝典JMeter实战》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值