文章目录
- 一、常用组件介绍
- 二、Sampler:取样器
- 三、Controller:控制器(逻辑控制器)
- 四、Pre Processor:预处理
- 五、Post Processor:请求之后的处理
- 六、Assertions:断言
- 七、Timer:定时器
- 八、Test Fragment:片段
- 九、Config Element:配置元件
- 十、 Listener:监听器
- 十一、 Non-test element:非测试相关的一些组件
一、常用组件介绍
启动Jmeter添加线程组
解释:
- test plan:测试计划,是其它组件的容器
- thread:线程组,用来设置多少线程,怎么运行这些线程
- config element:配置信息
- listener:监听,查看执行的结果、统计、发出的请求
- timer:等待时间,集合点、按照请求流量加压
- pre processor:前置处理器,在发出正式请求前做好准备工作
- post processor:请求之后需要做的事情,提取各种响应内容
- assertion:各种断言,和post processor部分相似,提取出指定的内容后作为断言内容。
- test fregment:测试片段,用于其他的控制器使用
- Non-test element:非测试相关的元件,比如(HTTP Mirror Server,HTTP(S) Test Script Recorder(脚本录制)等等
二、Sampler:取样器
简单的说取样器可以理解为性能测试中的协议,每次请求需要选择相应的协议才能用于向服务器发起请求,里面最常用的就是HTTP Request,Debug Sampler、TCP Sampler、jdbc Request等。每种不同类型的sampler可以根据服务端所需要的参数进行构建请求类型,进而达到测试的效果。
三、Controller:控制器(逻辑控制器)
JMeter中的Logic Controller分为两类:
- a) 控制测试计划执行过程中节点的逻辑执行顺序,如:Loop Controller、If Controller等;
- b) 对测试计划中的脚本进行分组、方便JMeter统计执行结果以及进行脚本的运行时控制等,如:Throughput Controller、Transaction Controller。
四、Pre Processor:预处理
前置处理器会在采样器发出请求之前做一些特殊操作。如果前置处理器附着在某个采样器之下,那么它只会在该采样器运行之前执行。前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值(这些变量不在服务器响应中获取值)。
五、Post Processor:请求之后的处理
后置处理器会在采样器发出请求之后做一些特殊操作。如果后置处理器附着在某个采样器之下,那么它只会在该采样器运行之后执行。后置处理器通常被用来处理服务器的响应数据,特别是服务器响应中提取数据。
六、Assertions:断言
用户可以使用断言来检查从服务器获得的响应内容。通过断言可以测试服务器返回的响应与测试人员的期望是否相符。
七、Timer:定时器
定时器会让作用域内的每一个采样器都在执行前等待一个固定时长,如果不设定这种延迟,JMeter可能会在短时间内产生大量访问请求,导致服务器被大量请求所淹没。如果为线程组添加了多个定时器,那么JMeter会将这些定时器的时长叠加起来,共同影响作用域范围内的采样器。定时器可以作为采样器或者逻辑控制器的子项,目的是只影响作用域内的采样器。在Java中常见的就是sleep.
八、Test Fragment:片段
一个可以被其它控制器引用的片段,类似于一个函数,可以在其它地方使用;也是控制器上一个种特殊的线程组,它在测试树上与线程组处于一个层级。但使用时需要和include Controller或者Module Controller配合。它的主要作用是模块化测试过程,类似于编程语言中的函数。即,将测试过程封装成测试片段,就可以在其他地方直接引用了;
九、Config Element:配置元件
用于提供对静态数据配置的支持。CSV date set config将本地数据文件形成数据池(date pool),而http request sampler和TCP request sampler等类型的配置元件则可以修改sampler的默认数据。
十、 Listener:监听器
它是用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、查看结果树、聚合报告等都是我们经常用到的元件。
十一、 Non-test element:非测试相关的一些组件
一般代理录制就使用该组件