1常用组件概述
除了前文介绍的测试计划(Test Plan),线程组(Thread Group),另外还有些其他常用的主要组件:
- 控制器(Controller)
- 监听器(Listeners)
- 计时器(Timers)
- 配置元素(Configurations Elements)
- 预处理器元素(Pre-Processor Elements)
- 后处理器元素(Post-Processor Elements)
每个组件及jmeter模块的关系如下
2控制器
控制器可以分为两个组成部分:
- 取样器
- 逻辑控制器
2.1取样器
取样器或者叫采样器,是定义Jmeter发送请求到服务端类型的组件,模拟用户对目标服务器的请求类型。且取样器必须是添加到测试计划中的,因为它只能让Jmeter知道需要将哪种类型的请求发送到服务器上。常用的取样器类型如下所示:
2.2逻辑控制器
逻辑控制器可以控制线程中采样器处理顺序的流程。 它还可以更改来自其子元素的请求的顺序。参考逻辑控制器
3计时器
我们知道,以web请求为例,在操作请求的时候,有一定的暂停和延时。这些现象可以使用Jmeter的Timers定时器来模拟。JMeter发送请求时会在每个取样器/请求之间应用延迟。 默认情况下,JMeter发送的请求并不会在每个请求之间暂停,这种情况下,JMeter可能会在很短的时间内发出过多请求从而使服务器宕机。定时器运行JMeter在线程发出每个请求之间按照一定的规律进行延时,计时器可以解决服务器过载问题。而且在实际生活中,客户端请求不会同时达到网站进行访问,而是以不同的时间间隔对网站进行访问,因此Timer将有助于模拟客户真实行为。
计时器一般被我们用来设置延迟与同步,定时器的优先级高于Sampler,在同一作用域下有多个计时器存在时,它们都会执行;如果想让某一计时器只针对某一个Sampler有效,则要把计时器加到该Sampler下面。注意定时器的作用域如下:
- 定时器是在每个sampler(取样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面);
- 当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;
- 如果希望定时器仅应用于其中一个sampler,则把定时器作为子节点加入;
- 如果希望在sampler执行完之后再等待,则可以使用Test Action;
|