组件执行顺序
测试计划的元素执行是有序的,通过以下方式执行:
1–配置元件(Config Element)
2–前置处理器(Pre Processors)
3–定时器(Timer)
4–取样器(sampler)
5–后置处理器(Post Processors,只在有结果可用情况下执行)
6–断言(Assertions,只在有结果可用情况下执行)
7–监听器(Listener,只在有结果可用情况下执行)
组件作用域
8类可被执行的元件元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements 、timers 、post-processors、assertions、listeners)需要与取样器(sampler)等元件交互。
配置元件(config elements ):影响其作用范围内的所有元件。
前置处理程序(Per-processors):在其作用范围内的每一个sampler元件之前执行。
定时器(timers ):对其作用范围内的每一个sampler 有效
后置处理程序(Post-processors):在其作用范围内的每一个sampler元件之后执行。
断言(Assertions):对其作用范围内的每一个sampler 元件执行后的结果执行校验。
监听器(Listeners):收集其作用范围的每一个sampler元件的信息并呈现。
元件收集其作用范围的每一个sampler元件的信息并呈现,在jmeter中,元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,作用域的原则是:
(1)采样器(sampler):元件不和其它元件相互作用,因此不存在作用域的问题;
(2)逻辑控制器(Logic Controller):元件只对其子节点中的取样器 和 逻辑控制器作用;
(3)除采样器 和 逻辑控制器 元件外,其他6类元件,如果是某个sampler的子节点,则该元件只对其父子节点起作用;
(4)除采样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler ,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。
实例
实例1中,Assertion #1仅被应用于请求One, Assertion #2 仅被应用于请求Two 和 Three。
实例2中,请求的命名表现它们被执行的顺序。Timer #1应用于请求Two, Three, 和 Four (注意对于分等级的元件怎样的顺序是不相关的)。Assertion #1应用于请求Three。Timer #2对所有请求有效。