• Jmeter组件作用域及执行顺序


    一、Jmeter八大可执行元件

    • 配置元件---Config Element
      用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域的任何采样器前。
    • 前置处理器---Pre Processors
      前置处理器会在采样器发出请求之前做一些特殊操作。如果前置处理器附着在某个采样器之下,那么它只会在该采样器运行之前执行。前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值(这些变量不在服务器响应中获取值)。
    • 计时器---Timer
      定时器会让作用域内的每一个采样器都在执行前等待一个固定时长,如果不设定这种延迟,JMeter可能会在短时间内产生大量访问请求,导致服务器被大量请求所淹没。如果为线程组添加了多个定时器,那么JMeter会将这些定时器的时长叠加起来,共同影响作用域范围内的采样器。定时器可以作为采样器或者逻辑控制器的子项,目的是只影响作用域内的采样器。
    • 取样器---sample
      采样器告诉JMeter发送一个请求到指定服务器,并等待服务器的请求。采样器会按照其在测试树中的顺序去执行,还可以用逻辑控制器来改变采样器运行的重复次数。
    • 后置处理器---Post Processors
      后置处理器会在采样器发出请求之后做一些特殊操作。如果后置处理器附着在某个采样器之下,那么它只会在该采样器运行之后执行。后置处理器通常被用来处理服务器的响应数据,特别是服务器响应中提取数据。
    • 断言---Assertions
      用户可以使用断言来检查从服务器获得的响应内容。通过断言可以测试服务器返回的响应与测试人员的期望是否相符
    • 监听器---Listener
      监听器提供了对JMeter在测试期间收集到的信息的访问方法。"图形结果"监听器会将系统响应时长绘制在一张图片之中。"查看结果树"监听器会展示采样器请求和响应的细节,还可以将测试数据导入到文件之中,以供后续分析。
    • 逻辑控制器---Controller
      逻辑控制器可以帮助用户控制JMeter的测试逻辑,特别是何时发送请求。逻辑控制器可以改变其子测试元件的请求执行顺序。

     二、组件执行顺序

     测试计划的元素执行是有序的,通过以下方式执行:
    1–配置元件(Config Element)
    2–前置处理器(Pre Processors)
    3–定时器(Timer)
    4–取样器(sampler)
    5–后置处理器(Post Processors,只在有结果可用情况下执行)
    6–断言(Assertions,只在有结果可用情况下执行)
    7–监听器(Listener,只在有结果可用情况下执行)

    三、组件作用域

    元件收集其作用范围的每一个sampler元件的信息并呈现,在jmeter中,元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,作用域的原则是:

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

    四、特殊说明

    配置元件(Config Elemnet)-->用户自定义变量组件(User Defined Variables):这个组件不管放在哪个位置,它定义的变量都会被整个线程所共享。

    感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

     这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

     

  • 相关阅读:
    kubernetes1.18集群安装实战
    geohash学习
    读书笔记之《敏捷测试从零开始》(一)
    泛微项目二次开发
    NX二次开发-通过获取窗口句柄方式来设置类型过滤器EnumChildWindows
    HummerRisk 使用场景:混合云安全治理(1)简介
    leetcode416分割等和子集刷题打卡
    2.redis缓存数据库学习
    【工具】2102- es-toolkit:一个现代 JavaScript 工具包,体积更小,内置 TypeScript 支持...
    JavaScript基础
  • 原文地址:https://blog.csdn.net/hlsxjh/article/details/134041995