逻辑控制器

Jmeter提供了多种逻辑控制器,下面进行讲解说明:

1、Simple Controller

简单控制器是最基本的控制器,对jmeter测试运行没有任何影响,可以将某些请求归集在一个简单控制器中,视为一个模块,使得脚本结构更清晰。

2、Loop Controller

循环控制器,这个控制器的作用是使其子项循环运行。

循环次数(Loop Count):在输入框中输入需要循环的次数,控制器下的子项会循环相应的次数。如果勾选了【forever】,那么控制器下的子项会一直运行。

这里设置线程数为5 ,循环控制器为3次  ,相乘总共为15次。

3、Once Only Controller

仅一次控制器,会使该控制器下的子项每个线程只运行一次,建立下面的脚本结构并运行:

结果如下:

对上面的脚本进行修改,加入循环控制器,修改线程组【线程数】为2,【循环次数】为2:

运行脚本,结果如下:

可见,【循环控制器】中的【仅一次控制器】依然生效。

4、ForEach Controller

遍历循环控制器,首先看下它的各输入项:

输入变量前缀:输入遍历需要的变量的前缀,图中是a,为什么要写“a”呢?这是因为【用户定义的变量】中变量名称是“a”为前缀的,前缀是指数字前面的内容。当然这个变量还可以来自【正则表达式提取器】、【参数化】等。

Start index for loop:循环开始的变量索引(行数),不填则从0开始,也就是自定义变量中的第一行。

End index for loop:循环结束的变量索引,不包括本身,也就是如果填入3,则执行完2就会结束。

输出变量名称:将读取到的变量放入内存,变量值就是输出变量名称所定义的值(本例是a)。在后面使用这个值时,使用“${输出变量名}“格式就可以了。

Add “_” before number:勾选后,【用户定义的变量】的变量名要写“a_1”格式,不勾选则写成“a1”格式。 HTTP请求按下图写入,来验证ForEach Controller的作用。

运行脚本,发现HTTP请求被执行了三次(end-start的值),${a}依次被赋值a1、a2、a3。

5、Include Controller

包含控制器,它的作用是引入外部的jmx文件。需要注意的有以下几点:
1、引用的jmx文件中,不能包含线程组。
2、当使用包含控制器中包含相同的JMX文件,要避免同名。

6、Transaction controller

事务控制器,生成一个额外的采样器来测量其下测试元素的总体时间;值得注意的是,这个时间包含该控制器范围内的所有处理时间,而不仅仅是采样器的。由于时钟误差,而事务控制器的总体用时可能会稍微大于事务控制器下各个子项用时之和。
它有两个参数项:
1、Generate parent sample:生成父样本(不同的模式选择)
2、include duration of timer and pre-post processors in generated sample:是否包含时间的计时器和前后处理器耗用的时间。

可以看到聚合报告中记录了【事务处理器】的响应用时信息。勾选了【Generate parent sample】后再次运行,我们发现结果树和聚合报告都有了变化,结果树中依然能看到HTTP请求,但已经归集到事务控制器下,而聚合报告中不再显示取样器。

7、Throughput Controller

吞吐量控制器,允许用户自行调整该控制器下的子项的执行频率。

吞吐量控制器有两种模式:

1、Total Executions:当该控制下的子项被执行固定数量后,停止吞吐量控制器。例如下面这个脚本,线程组为2,【循环次数】设为3,运行脚本。

结果如下:

2、Percent Executions:百分比模式,该模式使吞吐量控制器下的子项执行总循环次数的一定比例(在吞吐量中设置该比例),例如下面的脚本。

设置线程组【循环次数】为60,运行后,查看聚合报告,吞吐量控制器下的HTTP请求1执行了30次,也就是(60*50%)次。

未完待。。。。。。

jmeter逻辑控制详解(1)的更多相关文章

  1. Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)

    1.简介 我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全.灵活小巧,特别是前几年的勒索病毒,现在绝大多 ...

  2. Jmeter 05 JMeter元件详解

    1. JMeter 逻辑控制器 Switch条件控制器.While条件控制器.交替控制器.仅一次控制器.随机控制器.随机顺序控制器.条件控制器(如果(if)).循环控制器.录制控制器.ForEach控 ...

  3. 『动善时』JMeter基础 — 12、JMeter取样器详解:sampler

    目录 1.取样器介绍 2.JMeter自带的取样器 3."HTTP请求"为例介绍一下取样器 (1)HTTP Request: (2)Web服务器: (3)HTTP请求: (4)同请 ...

  4. Jmeter关联详解

    关联的概念 从上一步操作中获取需要的值,传递给下一步操作中进行引用,形成自动关联,而不是 每次操作都去手动修改关联的值.常见的场景有SessionID.Session Token值的获取. 正则表达式 ...

  5. jmeter逻辑控制器详解(2)

    逻辑控制器 8.Runtime Controller 运行周期控制器,顾名思义,这是一种设置运行时间的控制器,它的效果就是使该控制器下的子项运行时间为[Runtime]中的数值(单位:s). Runt ...

  6. jmeter生成html报告详解

    Jmeter Dashboard详解 结果面板主要分为Dashboard和Charts两部分.Dashboard对信息进行汇总展示,Charts展示更多详细指标数据. Dashboard Test a ...

  7. fillder 抓包工具详解

    一.安装详解 直接点击.exe可执行文件,一直下一步直到安装完成即可.打开主要为5个部分: 二.安装jmeter插件详解 三.工具详解 3.1:工具条:,可以给指定的请求添加备注信息,在导出后可以查看 ...

  8. 性能测试之jmeter逻辑控制种类详解一

    逻辑控制器介绍 Jmeter逻辑控制可以对元件的执行逻辑进行控制,除Once only Controller仅一次控制器以外,其他控制器都可以可以嵌套其他种类的控制器,下面是jmeter5.3支持的控 ...

  9. JMeter学习-023-JMeter 命令行(非GUI)模式详解(一)-执行、输出结果及日志、简单分布执行脚本

    前文 讲述了JMeter分布式运行脚本,以更好的达到预设的性能测试(并发)场景.同时,在前文的第一章节中也提到了 JMeter 命令行(非GUI)模式,那么此文就继续前文,针对 JMeter 的命令行 ...

随机推荐

  1. 关于tomcat NoClassDefDoundErr异常的记录

    在做DRP项目的时候,copy了drp1.3,粘贴重命名成drp1.4,把drp1.4加入到tomcat中,发现drp1.4中新加的jsp可以正常运行,而从1.3那copy来的不能运行,抛出NoCla ...

  2. linux常用的小命令

    查看linux版本 uname -a 图上可知,linux内核版本为2.6.32 查看cpu核数 cat /proc/cpuinfo |grep "cores"| uniq 系统中 ...

  3. 一个有python扩展库的下载网站

    https://www.lfd.uci.edu/~gohlke/pythonlibs/

  4. Stylus-富有表现力的、动态的、健壮的CSS

    今天总结一下Stylus记一些常用的也是最基本的用法 一.  选择器 Stylus是基于缩进的这让我们可以更快捷的编写css比如 body { margin:; paddind:; font-size ...

  5. java Class类使用

    1.forName public static Class<?> forName(String className) throws ClassNotFoundException 返回与带有 ...

  6. 一个简单mock-server 解决方案

    參考: 测试利器之Mock server 介紹 moco server - download Mockman - download 各种Mock工具比较 JMockit中文网 MockWebServe ...

  7. BZOJ2160 拉拉队排练 PAM

    题意简述 询问一个串中所有奇回文按照长度降序排列,前k个奇回文的长度乘积. 做法 回文自动机(PAM)模板题. 维护每个回文自动机的结点回文串出现次数,跳fail得到每个长度的出现次数,双关键字排序后 ...

  8. CSS颜色和长度单位

    颜色 如果我们相给页面设置颜色可以采用多种方法进行设置: 一.命名颜色 假设在设置页面的颜色时觉得一部分很小的颜色集中就足够了,就可以直接给定颜色的名称.CSS称这些有名称的颜色为命名颜色. 命名颜色 ...

  9. React Native 之SectionList

    接上一篇: /pages/SectionListDemo.js import React, {Fragment,Component} from 'react'; import { SafeAreaVi ...

  10. #433 Div2 Problem C Planning (贪心 && 优先队列)

    链接 : http://codeforces.com/contest/854/problem/C 题意 : 有 n 架飞机需要分别在 1~n 秒后起飞,允许起飞的时间是从 k 秒后开始,给出每一架飞机 ...