一组件:每一个功能实现就称为一个组件(最小单位),如,线程组、http请求、差结果树
- 组件的作用域
1.取样器是作用域的参考物,本身无所谓作用域的概念
2.以结果树为代表的大部分组件
作用域:直接父级取样器+直接兄弟取样器
3.以逻辑控制器为代表的组件
只对子级取样器有效
二.元件:相同类似功能组件的集合
- 元件作用域
Jmetar中共有8类可被执行的元件(testplan和thread group不属于元件),其中,sampler
(取样器)是不与其他元件发生交互的作用的元件,
Logic Controller(逻辑控制器)只对其子节点的sampler有效,而其他元件需要与sampler
等元件交互。
Config Elements(配置元件):影响其范围内的所有元件
Pxe-porcesso13(前盖定理器):在其作用范围内的每一个sampler元件之前执行
Timer(定时器):对其作用范围内的每一个sampler有效
Post-porcessors(后置处理器):在其作用范围内的每一个sampler元件之后执行
Assirtions(断言):对其作用范围内的每一个sampler元件执行后的结果执行校验
Listener(监听器):收集其作用范围内的每一个sampler元件的信息并且呈现出来
在jmeter中,元件的作用域是靠test plan的树形结构中元件的父子关系来确定的,其原则如下:
1)sampler 不与其他元件相互作用,因此不存在作用域问题
2)Logic Controller只对其子节点中的 sampler 和Logic Controller 作用
3)除sampler和Logic Controller外的其他元件,如果是某个sampler的子节点,则该元件
仅对其父节点作用
4)除sampler和Logic Controller外的其他元件,如果其父节点不是sampler,则其作用域
是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)
- 元件的执行顺序
在同一作用域范围内,test plan中的元件按照以下顺序执行:
1)Config Elements-配置元件
2)Pre-porcessors—前置处理器
3)Timer–定时器
4)Sampler—取样器
5) Post-porcessors(除非Sampler得到的返回结果为空)-后置处理器
6)Assirtions(除非Sampler得到的返回结果为空)----断言
7)Listener(除非Sampler得到的返回结果为空)--监听器
注意:元件不会因为在脚本中的放置顺序而改变其执行的顺序;如果在一个脚本中有多个同类型的元件,他们的执行顺
序是按照在脚本中的排序执行的