元件作用域与执行顺序

基本概述

我们录制脚本时,需要添加各个元件,那么首先就应该弄明白元件作用域与执行顺序,8大元件的作用域遵循如下规则:

  • 配置元件(config elements):会影响其作用范围内的所有元件。
  • 前置处理程序(per-processors):在其作用范围内的每一个 Sampler 元件之前执行。
  • 定时器(timers):对其作用范围内的每一个 Sampler 都有效。
  • 后置处理程序(post-processors):在其作用范围内的每一个 Sampler 元件之后执行。
  • 断言(Assertions):对其作用范围内的每一个 Sampler 元件执行后的结果执行校验。
  • 监听器(Listeners):收集其作用范围的每一个 Sampler 元件的信息并呈现。
  • 其中 Sampler 元件不和其他元件相互作用,因此不存在作用域的问题。
  • 逻辑控制器(Logic Controller)元件只对其子节点中的取样器(Sampler)和逻辑控制器(Logic Controller)作用。

光看概念肯定难以理解,下面用两个实例来说明。

第一个实例

如图所示:

作用范围如下:

  • HTTP1、HTTP2、HTTP3 因为是 Sampler 所以没有作用域的概念;
  • 循环控制器:HTTP2、HTTP3 和图形结果;
  • 图形结果:HTTP2 和 HTTP3;
  • 聚合报告:HTTP、HTTP2、HTTP3。

第二个实例

如图所示:

作用范围如下:

  • 固定定时器:HTTP1;
  • 循环控制器:HTTP2、HTTP3 与图形结果、随机控制器;
  • 图形结果:HTTP2、HTTP3;
  • 响应断言:JDBC Request;
  • 聚合报告:所有;
  • 随机控制器:JDBC Request 与响应断言。

总结:是否已发现,总结起来就是从各个元件的层次结构判断每个元件的作用域。

元件执行顺序

元件的执行顺序遵循从上至下的顺序:

配置元件
↓
前置
↓
定时器
↓
Sampler
↓
后置
↓
断言
↓
监听器

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

posted @ 2018-11-22 11:05  长安。  阅读(120)  评论(0)    收藏  举报