1、简单控制器(Simple Controller)

作用:将多个请求放置在一起,但是没有逻辑上的操作,进行一个简单的分组,一般是由于分组后的请求需要进行统一的某个操作或者存在共同的因素。在简单控制器下可添加http请求,也可添加其他控制器组合使用。

2、循环控制器(Loop Controller)

作用:指定其子节点运行的次数,可以使用具体的数值(如下图,设置为5次),也可以使用变量值。

通过变量的方式定义循环次数:

引用定义的变量:实现变量循环。

如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的子节点运行的次数为两个数值相乘的结果:

验证1:结果为乘积:

验证2:

3、仅执行一次控制器(Once Only Controller)

作用:在测试计划执行期间,该控制器下的子节点对每个线程只执行一次,登录场景经常会使用到这个控制器。

在测试计划执行期间,该控制器下的子结点对每个线程只执行一次,登录场景经常会使用到这个控制器。

将Once Only Controller作为Loop Controller的子节点,在线程组循环下Once Only Controller在每次循环的第一次迭代时均会被执行。

4、循环控制器(ForEach Controller)

作用:ForEach控制器一般和用户自定义变量一起使用,其在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。与循环控制器(Loop Controller)相比虽然都是循环控制器,但不同的是循环控制器(Loop Controller)的循环次数是事先知道的指定的,而循环控制器(ForEach Controller)的循环次数是与变量以及配置项设置有关。关于设置项详细说明:

  • Input Variable Prefix:输入变量前缀
  • Output variable name:输出变量名称,也可以被其他的元件进行使用。
  • Start index for loop(exclusive):循环开始的索引(这里如果不填写,默认从1开始,如果没有1开始的变量,执行时会报错)
  • End index for loop(inclusive):循环结束的索引
  • Add”_”before number:输入变量名称中是否使用“_”进行间隔。

也可以听过指定用户自定义变量中下标的方式:

5、事务控制器(Transaction Controller)

作用: 事务控制器会生产一个额外的采样器,用来统计该控制器子结点的所有时间。关于设置项详细说明:

  • Generate parent sample:(是否生成父采样,直观的说就是会将所有的子采样囊括在这个采样器下方便管理查看。选中这个参数结果展示如下图1部分:红框,否则显示为下图蓝框)
  • Include duration of timer and pre-post processors in generated sample:选中这一项会统计定时器(timer)的时间,否则只统计采样器(sample)的时间,如下图2部分。

注意:上述说的load time总是会大于实际的时间,之所以会有这个主要依赖于软件系统时间的分辨率这个是没有办法避免的。同时如果当中有某个子采样失败了,那么这个事物控制器也会是失败的。

6、If 控制器(If Controller)

作用:根据给定表达式的值决定是否执行该节点下的子节点,如果条件为真将会执行If 控制器下的脚本,否则不执行。配置项详解:

  • Interpret Condition as Variable Expression?:选中这一项时表示:判断变量值是否等于字符串true(不区分大小写)
  • Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

勾选Interpret Condition as Variable Expression?:程序只会判断当前的变量是否与字符串true相等,忽略大小写问题。

或者直接是表达式:

使用案例1:ForEach Controller+User Defined Variables+If Controller

jmeter5.2版本 配置元件之逻辑控制器详解的更多相关文章

  1. jmeter5.2版本 配置元件之参数化详解

    1.方式1 :CSV Data Set Config : 打开方式:配置元件---csv data set config 作用:用于读取txt.csv文件数据,注意:默认txt.csv文件的第一行内容 ...

  2. Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍

    Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍 spring集成 mybatis Spring4.x零配置框架搭建 两年前一直在做后 ...

  3. Win7系统Visual Studio 2013配置OpenCV3.1图文详解

    Win7系统Visual Studio 2013配置OpenCV3.1图文详解 OpenCV3.1对硬件加速和移动开发的支持相对于老版本都有了较大改进,支持新的开发工具,更易于扩展,配置方式也比以前简 ...

  4. (转)CentOS 6下配置软RAID图文详解

    CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...

  5. Tomcat系列之服务器的安装与配置以及各组件详解

    Tomcat系列之服务器的安装与配置以及各组件详解 大纲 一.前言 二.安装与配置Tomcat 三.Tomcat 目录的结构 四.Tomcat 配置文件 注,本文的测试的操作系统为CentOS 6.4 ...

  6. Centos7 配置网络步奏详解

    Centos7 配置网络步奏详解 编辑网卡配置文件 vi /etc/sysconfig/network-script/ifcfg-ens01 备注:这里的ens01不是所有系统都叫这个,有的可能叫其他 ...

  7. centos6.4安装配置vpn服务器步骤详解

      centos6.4安装配置vpn服务器步骤详解,从安装VPN到配置VPN服务器.配置VPN服务器的路由转发功能,每一步都很详细   一.VPN服务器环境说明 操作系统:CentOS release ...

  8. robots.txt文件配置和使用方法详解

    robots.txt文件,提起这个概念,可能不少站长还很陌生:什么是robots.txt文件?robots.txt文件有什么作用?如何配置robots.txt文件?如何正确使用robots.txt文件 ...

  9. PHP版本的区别与用法详解

    在我们安装PHP模块时,有时需要注意PHP编译的版本,下面讲解下PHP中VC6.VC9.TS.NTS版本的区别与用法详解,介绍php的两种执行方式. 1. VC6与VC9的区别:VC6版本是使用Vis ...

随机推荐

  1. CentOS8 安装MySQL5.7

    CentOS_8 安装MySQL5.7 1.在安装之前,如果你的系统曾经安装过Mariadb,请先卸载:yum remove mariadb*2.安装依赖 yum install -y epel-re ...

  2. 旧手机改造成web服务器并实现内网穿透

    前几天由于gitee的审核引擎一通乱杀,使得gitee pages停止提供服务,心生更换服务器或者其他pages托管的想法,看了看价格感人的云服务器以及空空的钱包,这时,脑子有个奇怪的想法飘过,自己搞 ...

  3. Python3 * 和 ** 运算符

    1.算数运算 *  代表乘法 ** 代表乘方 1>>> 2 * 52103>>> 2 ** 5432 2.函数形参 *args 和 **kwargs 主要用于函数定 ...

  4. 10、二进制安装K8s之部署CoreDNS 和Dashboard

    二进制安装K8s之部署CoreDNS 和Dashboard CoreDNS 和Dashboard 的yaml文件在 k8s源代码压缩包里面可以找到对应的配置文件,很多人从网上直接下载使用别人的,会导致 ...

  5. 遇到的C++ cli 转 C++ native 为C# 程序提供接口。

    接口文件 /*++ (do not edit the above line) ************************************************************* ...

  6. lock学习篇(上)

    why? 当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待. 但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候, ...

  7. Java环境变量(Env)和系统属性(Property)详解

    环境变量Env 使用System.getenv()获取系统的所有环境变量的Map,注意它是一个UnmodifiableCollection,是一个只读视图 环境变量并不提供set方法,即没有Syste ...

  8. CSS中定位问题

    通过使用 position 属性,我们可以选择 4 种不同类型的定位,这会影响元素框生成的方式. position 属性值的含义: static 元素框正常生成.块级元素生成一个矩形框,作为文档流的一 ...

  9. 关于int和Integer缓存(二):修改缓存大小

    续上文: java中的基础数据类型长度是否取决于操作系统? 在一些语言中,数据类型的长度是和操作系统有关系的,比如c和c++: 但是在java中,java的基础类型长度都是固定的,都是4个字节.因为j ...

  10. 老鼠走迷宫II

    转自:http://blog.csdn.net/holymaple/article/details/8636234 由于迷宫的设计,老鼠走迷宫的入口至出口路径可能不止一条,如何求出所有的路径呢? 解法 ...