Controllers 简介
JMeter是一款功能强大的性能测试工具,而控制器是JMeter中非常重要的一个组件。控制器用于控制测试计划的执行流程,可以根据需求来控制线程的启动、停止、循环等操作。
- Jmeter有两种类型的控制器:Samplers(取样器)和Logical Controllers(逻辑控制器);它们驱动着测试的进行
- 取样器:让Jmeter 发送请求到服务器
- 逻辑控制器:可以自定义决定发送请求的时机的逻辑
- 控制器是为了控制取样器的执行条件
Samplers(取样器)
取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sampler 、 FTP Request Sampler 、TCP Request Sampler 、 JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。
在Jmeter的所有Sampler中,Java Request Sampler与BeanShell Requst Sampler是两种特殊的可定制的Sample
特性
- 每个取样器都有几个可以设置的属性
- 也可以向测试计划或线程组中添加多个Config Element(配置元件)来更进一步自定义取样器
- 最后,要在测试计划中添加一个Listener(监听器),以便查看请求结果,或存储结果到磁盘
Logical Controllers(逻辑控制器)
- 逻辑控制器可以自定义决定发送请求的时机的逻辑
- 还可以更改其子元件的请求的顺序
- 逻辑控制器可以组合使用,然后获取不同的结果
逻辑控制器,包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、 switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的, 如 事务控制器、吞吐量控制器。
简单介绍
逻辑控制器
逻辑控制器用于控制测试计划中的执行流程,常用的逻辑控制器有以下几种:
- If控制器:根据条件判断来控制是否执行某个步骤。
- While控制器:在满足条件的情况下,循环执行某个步骤。
- Loop控制器:循环执行某个步骤一定次数。
- Switch控制器:根据条件判断来选择执行哪个步骤
循环控制器
循环控制器用于控制测试计划中的循环执行次数,常用的循环控制器有以下几种:
- Loop Controller:循环执行某个步骤一定次数。
- While Controller:在满足条件的情况下,循环执行某个步骤。
- Foreach Controller:遍历一个集合,循环执行某个步骤。
随机控制器
随机控制器用于随机选择执行测试计划中的某个步骤,常用的随机控制器有以下几种:
- Random Controller:随机选择执行某个步骤。
- Random Order Controller:随机选择执行测试计划中的所有步骤。
条件控制器
条件控制器用于根据条件判断来控制测试计划中的执行流程,常用的条件控制器有以下几种:
- If Controller:根据条件判断来控制是否执行某个步骤。
- While Controller:在满足条件的情况下,循环执行某个步骤。
- Switch Controller:根据条件判断来选择执行哪个步骤。