Jmeter(三)元件作用域与执行顺序

1、元件的作用域

Jmeter中共有八类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其他元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements、timers、post-processors、assertions、listeners)需要与取样器(sampler)等元件交互。

 

  配置元件(config elements):元件会影响其作用范围内的所有元件。

  前置处理程序(Per-processors):元件在其作用范围内的每一个sampler元件之前执行。

  定时器(timers):元件对其作用范围内的每一个sampler有效。

  后置处理程序(Post-processors):元件在其作用范围内的每一个sampler元件之后执行。

  断言(Assertions):元件对其作用范围内的每一个sampler元件执行后的结果执行校验。

  监听器(Listeners):元件收集其作用范围的每一个sampler元件信息并呈现。

 

在Jmeter中,元件的作用域是靠测试计划的树形结构中的元件父子关系来确定的,其作用域的原则是:

  •  取样器(sampler)元件不和其它元件相互作用,因此不存在作用域的问题。
  •  逻辑控制器(Logic Controller)元件只对其子节点中的取样器和逻辑控制器作用。
  •  除取样器 和 逻辑控制器 元件外,其他6类元件,如果是某个sampler的子节点,则该元件对其父子节点其作用。
  •  除取样器 和 逻辑控制器与案件外的其他6类元件,如果其父节点不是sampler,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。 

 

2、元件执行顺序

  了解了元件的作用域后,来看看元件的执行顺序,元件执行顺序的规则很简单,在同一作用域名范围内,测试计划的元件执行顺序如下:

  (1)配置元件(config elements )

  (2)前置处理程序(Per-processors)

  (3)定时器(timers )

  (4)取样器(Sampler)

  (5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)。

  (6)断言(Assertions)(除非Sampler 得到的返回结果为空)。

  (7)监听器(Listeners)(除非Sampler 得到的返回结果为空)。

 

关于执行顺序,有三点需要注意:

*前置处理器、后置处理器和断言等元件只能对“取样器”作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

*如果早同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。

*一个断言在测试树中是分等级的,如果它的父元件是请求,它就被应用于那个请求。如果它的父元件是控制器,它就影响那个控制器下所有的请求。

 

好了,本篇完。。。

本人水平有限,如有错误请大佬指正,多谢。

大佬博客 https://www.cnblogs.com/yangxia-test/p/3964956.html

 

posted @ 2018-11-12 14:54  北卡蓝色的小方块  阅读(188)  评论(0编辑  收藏  举报