zoukankan      html  css  js  c++  java
  • 【转】JMeter学习(三)元件的作用域与执行顺序

    1.元件的作用域

    JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(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 得到的返回结果为空)。

     

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

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

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

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

  • 相关阅读:
    VMWare: eth0: error fetching interface information : device not found
    谷歌插件学习笔记:把iframe干掉……
    离散事件模拟(银行业务模拟。实现算法3.6、3.7的程序)
    利用非循环顺序队列采用广度搜索法求解迷宫问题(一条路径)
    队列的顺序存储结构(循环队列)
    队列的顺序存储结构(出队元素时不移动元素,只改变队头元素的位置)
    循环队列-队列的顺序表示和实现
    链队列-队列的链式表示和实现
    栈与递归的实现(Hanoi塔问题等等)
    栈的应用举例3(表达式求值)
  • 原文地址:https://www.cnblogs.com/perfectwang/p/7235082.html
Copyright © 2011-2022 走看看