Jmeter元件及元件执行顺序
Jmeter目前可被执行的元件有8个:取样器(Sampler)、逻辑取样器(Logic Controller)、前置处理程序(Per-processors)、后置处理程序(Post-processors)、断言(Assertions)、定时器(Timers )、 配置元件(config elements )、监听器(Listeners)
(测试计划与线程组不属于元件)
取样器:
取样器(采样器)用来发送请求,接收响应,记录结果。它们按照在树中出现的顺序进行处理(有序的)。是典型的不与其它元件发生交互作用的元件。
逻辑控制器:
用来控制取样器的何时执行、执行顺序以及执行次数等,仅对其子节点取样器或逻辑控制器起作用(有序的)
前置处理器:
在其作用范围内(当前节点和子节点)的每一个取样器执行之前执行(如果不想作用于每一个取样器就把它放在取样器子节点)
后置处理器:
在其作用范围内的每一个取样器执行之后执行
断言:
对作用范围内的取样器执行结果进行检查,在取样器执行后执行
计时器:
计时器可以让其作用范围内的每个采样器在执行之前延迟一定的时间。
测试片段:
测试片段是一种特殊类型的控制器,它与线程组元件位于同一级别的测试计划树上。它与线程组的区别在于,除非被模块控制器或Include控制器引用,否则它不会执行。
仅用于测试计划中的代码重用
配置元件:
配置元素与采样器紧密配合。尽管它不发送请求(HTTP(S)测试脚本记录器除外),但它可以添加或修改请求。
会影响其作用范围内的所有元件
监听器:
从其作用范围内的每一个取样器中收集数据
执行顺序
在同一作用范围内,执行顺序如下:
(1)配置元件(config elements )
(2)前置处理程序(Per-processors)
(3)定时器(Timers )
(4)取样器(Sampler)
(5)后置处理程序(Post-processors)
(6)断言(Assertions)
(7)监听器(Listeners)
JMeter测试树包含层级结构和有序元件。
分层元件:监听器,配置元件,后置处理器,前置处理器,断言,计时器
如果其父节点是取样器,则将其应用于该取样器。如果其父节点是Controller,则它将影响该Controller的所有子节点。
前置处理程序、计时器、后置处理程序 和断言仅能对取样器作用。So,如果作用域内没有任何Sampler,则不会被执行。
有序元件:控制器,取样器
取样器和逻辑控制器是有序的,会根据在测试树中的添加顺序依次处理。