zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    可恶的0x1A
    求关注 wcf bindipendpointdelegate 端口限制的功能
    2015 UESTC Training for Data Structures
    Codeforces Round #298 (Div. 2)
    利用rawcap抓包(自己发给自己的包裹)
    PYTHON POST练手
    CentOS安装Nginx 实现HTTP代理
    how to make vim show ^M and substitute it
    Oracle SQL Developer: cannot find a j2se sdk
    Codeforces Round #282 (Div. 2)
  • 原文地址:https://www.cnblogs.com/Lydia25/p/9946472.html
Copyright © 2011-2022 走看看