JMeter逻辑控制器08

作者: 苦叶子 | 来源:发表于2017-04-25 11:34 被阅读219次

    前言

    在jmeter中逻辑控制器主要分类两类:

    • 控制jmeter测试计划中节点的逻辑执行顺序等等
    • 对jmeter的节点进行分组,方便结果统计等等

    进一步简化下,笔者把逻辑控制器分为

    • 逻辑控制类
    • 分组控制类
    1.png

    逻辑控制类

    逻辑控制类控制器定义了在执行线程中请求的执行顺序。

    下面我们就常用的逻辑控制器进行说明

    如果(if)控制器

    控制其下面的子节点满足条件才执行,例如,我们控制只有执行线程大于10个时,才执行其子节点。

    2.png

    这里只是简单举例,大家可以根据实际应用场景进行设计。

    循环控制器

    控制其下面的子节点运行次数。例如我们设置其子节点执行10次。

    3.png

    如果勾选永远选项,则会一直执行下去。

    仅一次控制器

    控制其子节点在整个测试计划执行期间的每个线程仅执行一次,例如我们可以用于等登录动作。

    4.png

    随机控制器

    每次执行时,从其子节点中,随机选择一个进行执行,例如我们百度首页随机请求不同的类型的资讯信息。

    5.png

    其他的逻辑控制器就不一一进行说明了,大家可以自行学习、实践,去挖掘其实用场景。

    分组控制类

    分组控制类主要用于统计和控制其他非逻辑执行。典型的应用场景,例如我们常需要去统计一个业务流的执行时间,或是控制吞吐量等等。

    下面我们一起看几个典型的分组控制类的组件。

    事务控制器

    会产生一个额外的sampler,用于统计该控制器下子节点的所有时间。该统计数据可以在聚合报告中看到。

    6.png

    Generate parent sample:控制结果的显示结构。若勾选,总时长和子节点时长按层级显示,未勾选,平行显示

    Include duration of timer and pre-post processors in generated sampler:勾选时,会统计定时器时间(默认仅统计采样器时间)

    如上图:通过事务控制器,我们可以统计出请求百度首页、搜索开源优测、搜索python、搜索selenium4个请求的时间总和,注意这里统一出来的时间会略大于这4个请求的和。

    吞吐控制器

    允许用户通过以下两种方法控制执行频率。

    7.png
    • Percent executions
      这个控制器的命名不够准确,因为它不是用来控制吞吐量的。吞吐量控制器允许用户控制执行频率,jmeter提供了两种模式:执行百分比和执行总次数。

      设置运行比例(1~100之间)

      如线程循环次数设置为5,添加Percent executions为40%的吞吐量控制器,其下子节点则循环2次

    • Total executions
      设置运行次数

      per user:此项被勾选后,在每个线程的基础上,每个用户都将根据控制器设置计算。未被勾选时,计算针对于所有用户。如:使用total

      execution模式,不勾选per user选
      项,执行次数=吞吐量值;勾选了per user,执行次数=user数量(对应线程数) * 吞吐量值

    总结

    本次就常用的逻辑控制器:如果(if)控制器、循环控制器、仅一次控制器、随机控制器、事务控制器、吞吐控制器进行了分享。对于这些控制器的应用场景,需要深刻理解业务后再设计场景,切不可为了用而用。

    相关文章

      网友评论

        本文标题:JMeter逻辑控制器08

        本文链接:https://www.haomeiwen.com/subject/ptxpzttx.html