jmeter中的逻辑控制器确定采样器的执行顺序。右键线程组-->添加-->逻辑控制器。

一、简单控制器

简单控制器对JMeter如何处理添加到其中的采样器没有影响。只是方便我们做分组命名。

示例:

在以下计划中,向第一个简单控制器添加两个请求:"加载商品搜索页面"和“搜索商品A”,并将控制器命名“挑选商品”;向第二个简单控制器添加另两个请求:"加入购物车"和“支付”,并将控制器命名“支付操作”。运行结果可以看到,简单控制器不会对添加到其中的采样器产生影响。

二、循环控制器

如果将采样器或逻辑控制器添加到循环控制器,除了为线程组指定的循环值之外,JMeter还将循环它们一定次数。例如,如果将一个HTTP请求添加到循环计数为2的循环控制器,并将线程组循环次数设为3,则JMeter将发送总共2 * 3 = 6个 HTTP请求。

示例:

向线程组添加了一个登录请求,并设置线程组循环次数为1。并向循环控制器添加了另一个充值请求。我们将循环控制器配置为循环次数为5。

jmeter按以下顺序发送请求:登录、充值、充值、充值、充值和充值

三、仅一次控制器

仅一次控制器将始终在任何循环父控制器的第一次迭代期间执行

1)如果放置在指定了多次循环次数的循环控制器下,那么仅一次控制器将仅在第一次迭代时通过循环控制器执行。

2)如果置于一个线程组,无论线程组设置多少循环次数,只在第一次迭代期间执行,即只执行一次。

示例:

1)线程组中循环次数设置为1,仅一次控制器放置在循环控制器下,向仅一次控制器添加一个登录请求;向循环控制器添加另一个充值请求,循环次数设置为5

jmeter按以下顺序发送请求:登录、充值、充值、充值、充值和充值

2)仅一次控制器置于线程组下,向仅一次控制器添加一个登录请求,向线程组添加另一个充值请求,设置线程组循环次数为5

四、交替控制器

如果将采样器或逻辑控制器添加到交替控制器,则JMeter将在每个其下的控制器之间交替进行每次循环迭代。

忽略子控制器块及跨线程交替默认不选中,若选中,参见以下说明:

示例:

交替控制器置于线程组下,向线程组添加一个”加载商品搜索页面“请求,线程组循环次数设为4;向交替控制器添加两个请求:“搜索A商品”、“搜索B商品”

五、随机控制器

随机控制器的作用类似于交替控制器,不同在于它不是通过其子控制器和采样器按顺序排列,而是在随机选取一个。

示例:

随机控制器置于线程组下,向线程组添加一个”加载商品搜索页面“请求,线程组循环次数设为4;向随机控制器添加两个请求:“搜索A商品”、“搜索B商品”

运行之后,可以看到跟交替控制器的区别,每次通过该随机控制器下请求时随机取。

六、随机顺序控制器

随机顺序控制器类似简单控制器,区别在于该控制器下的节点请求执行顺序是随机的。

示例:

向随机顺序控制器中添加以下4个HTTP请求,运行后,可以看到该控制器下的4个HTTP请求顺序是随机的。

七:吞吐量控制器

吞吐量控制器作用:控制用户执行的频率。

有两种模式:

总执行次数(Total Executions): 设置运行次数

执行百分比(Percent Executions): 设置运行比例(1~100之间)

该控制器的其他元素说明,见下:

示例:

1)将吞吐量控制器1、吞吐量控制器2置于线程组下,线程组循环次数设置为5

2)吞吐量控制器1下选择Total Executions,吞吐量设为2;该控制器下的节点执行次数为2

3)吞吐量控制器2下选择Percent Executions,吞吐量设为60;该控制器下的节点执行次数=60%*线程组循环次数5=3次

运行结果:

八、Runtime Controller

控制其子节点运行多长时间。控制器将运行其子项,直到超出配置的运行时间。runtime为0时表示没有运行。

示例:

Runtime Controller置于线程组下,线程组循环次数默认1,Runtime Controller的runtime设为3s

只运行了3s停止了。

Jmeter逻辑控制器操作,附栗子的更多相关文章

  1. jmeter 逻辑控制器Logic Controller详解

    Jmeter之逻辑控制器(Logic Controller) 前言: 1. Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in w ...

  2. Jmeter(九) - 从入门到精通 - JMeter逻辑控制器 - 上篇(详解教程)

    1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...

  3. Jmeter(十) - 从入门到精通 - JMeter逻辑控制器 - 中篇(详解教程)

    1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...

  4. Jmeter接口测试操作

    一.Jmeter接口测试操作步骤 1. 启动jmeter,右键点击测试计划-->添加-->Threads(Users)-->线程组,点击线程组菜单,右边显示参数设置. 2 . 右键点 ...

  5. JMeter—逻辑控制器(六)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第一节JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套 ...

  6. Jmeter(十一) - 从入门到精通 - JMeter逻辑控制器 - 下篇(详解教程)

    1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...

  7. 【JMeter_16】JMeter逻辑控制器__随机控制器<Random Controller>

    随机控制器<Random Controller> 业务逻辑: 当每次执行到该逻辑控制器时,随机挑选控制器下的任意一个子节点<取样器.逻辑控制器> Ignore sub-cont ...

  8. 【JMeter_17】JMeter逻辑控制器__随机顺序控制器<Random Order Controller>

    随机顺序控制器<Random Order Controller> 业务逻辑: 当控制器被触发时,将控制器下的所有子节点顺序打乱执行一遍,执行一遍,执行一遍,不是执行一个. 注意:是将子节点 ...

  9. Jmeter(十二) - 从入门到精通 - JMeter逻辑控制器 - 终篇(详解教程)

    1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...

随机推荐

  1. 【转载】回调函数(callback)是什么?

    一个很形象的例子: 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的电话号码就叫回 ...

  2. Json实现异步请求(提交评论)

    主要将代码粘贴,通过阅读代码理解当中的相关逻辑. html代码: <form id="form1" runat="server"> <p> ...

  3. git svn 报错

    删除 openjdk 时 remove 了一大堆软件. 可能由于这个原因导致使用 git svn 命令时出现类似下面的错误. sam@sam-CW65S:pics$ git svn rebase Ca ...

  4. spi flash 操作

    W25Q16V 是华邦出的一颗 spi flash. 25系列是比较通用的一个系列. 后面的数字 16 跟容量有关, 16 表示 16Mbits, 相当于 2MB. 与此类似的还有 W25Q128V ...

  5. linux输入子系统(6)-input子系统介绍及结构图

    注:本系列转自: http://www.ourunix.org/post/290.html input子系统介绍         输入设备(如按键,键盘,触摸屏,鼠标,蜂鸣器等)是典型的字符设备,其一 ...

  6. wxpython中鼠标样式的获取与匹配

    在wxpython中定义有多种默认的鼠标样式,譬如:wx.CURSORCROSS wx.CURSORHAND等等, 此处按下不表,可以参考wxpython的samples里面自带的cursor例子 这 ...

  7. javascript模块化编程:CommonJS和AMD规范

    AMD规范,异步模块定义.与CommonJS规范齐名并列. 作用都是利于JavaScript的模块化编程. 模块化编程的好处就是: 1.可重用 2.独立 3.能解决加载的依赖性问题 4.能解决重复加载 ...

  8. Gym - 101164C - Castle KMP

    题目链接:传送门 题解: 利用KMP的fail失配数组,快速找到当前后缀与前缀的公共前缀点 #include<bits/stdc++.h> using namespace std; #pr ...

  9. NameNode备份策略以及恢复方法

    一.dits和fsimage      首先要提到两个文件edits和fsimage,下面来说说他们是做什么的. 集群中的名称节点(NameNode)会把文件系统的变化以追加保存到日志文件edits中 ...

  10. 线程安全 对StringBuilder抛出ArrayIndexOutOfBoundsException的探究

    对StringBuilder抛出ArrayIndexOutOfBoundsException的探究 - CSDN博客 https://blog.csdn.net/liu_005/article/det ...