JMeter使用逻辑控制器来决定采样器的处理顺序

  • 简单控制器(Simple Controller):存储设备(将某些采样器归组)
  • 循环控制器(Loop Controller:设置循环次数
  • 仅一次控制器(Once Only Controller)
  • 交替控制器(Interleave Controller)
  • 随机控制器(Random Controller)
  • 随机顺序控制器(Random Order Controller): 每个子测试元件都至多执行一次,但是执行顺序是随机的
  • 吞吐量控制器(Throughput Controller):容许用户设定其被执行的频率,这里有两种模式:Percent Execution,该控制器会执行固定比例的循环次数(以测试计划总的循环次数为基准);Total Executions模式,该控制器会在执行数次(设定值)后停止执行。同仅一次控制器,当父循环控制器开始新一轮循环时,控制器的设定值会被重置。另外参数Per User选中,吞吐量控制器就会以虚拟用户为基础来计算它是否该执行,如果没选,就是基于所有用户来计算的。例如:Total Execution模式下,不勾选"per user”,设定值就是吞吐量控制器的总执行数,勾选,则是虚拟用户数乘以Troughput设定值。
  • 运行时长控制器(Runtime Controller):设定运行时长
  • 如果控制器(If Controller):控制其下子测试元件是否执行,容许将脚本作为变量表达式处理(默认是JavaScript),判断条件可以使用函数和变量,例如,${__jexl(${VAR}==23)}或者${COUNT} < 10或者${JMeterThread.last_sample_ok}检查最后一个采样是否成功, 如果选中“Interpret Condition as Variable Expression", 那么对应的表达式将会被计算,并与”true"比较,而不需使用JavaScript.注意:如果判断条件以JavaScript方式解释执行,那么脚本就无法访问任何变量。如果要访问变量,需勾选,并使用__javaScript()函数调用。如果在解释执行代码时发生错误,那么条件就被认定为false,并在jmeter.log记录一条消息
  • While Controller: conditon可能值
    • Blank:当循环中有采样失败了后退出循环
    • LAST:当循环中有采样失败了后退出循环,如果循环前最近的采样失败了,布进入循环
    • Otherwise:当条件等同于字符串”false"时,退出(或者不进入)循环,举个例子:
      • ${VAR} --当VAR被其他测试元件设置为false
      • ${__javaScript("${VAR2}"=="abcd")}
      • ${_P(property)}--当属性在其他地方被设置为"false"
  • Switch Controller:switch value,选择执行的子测试元件对应数字(或名称)。子测试元件从0开始编号
  • ForEach控制器(ForEach Controller):循环遍历一系列相关变量,ForEach控制器非常适合于前置处理器正则表达式一起使用,前置处理器正则表达式可以从一个请求的结果数据中提取需要的输入变量。通过省略“_"分隔符,ForEach 控制器使用输入变量refName_g可以循环遍历所有组合。使用refName_${C}_g格式的输入变量还可以循环遍历所有匹配的所有组合,其中C是一个计数器变量。
  • 模块控制器(Module Controller):提供了一个机制,即在当前测试计划中动态地替换测试计划判断。不应该在远程测试或者非GUI模式下雨工作件一起使用。
  • Include Controller:使用外部JMX文件,将采样器添加到简单控制器之下,接着将简单控制器保存为JMX文件。该文件接下来被用到测试计划中。被包含的测试计划中不能含有线程组。它只能是简单控制器及其子元器件等。(Cookie Manager/User Defined Variables不应该在被包含文件中) ,该控制器在Filename域中不支持变量、函数,但是,如果定义了属性includecontroller.prefix,其内容将作为路径名前缀。
  • 事务控制器(Transaction Controller) : 会产生一个额外的采样,用于衡量执行嵌套测试所耗费的全部时间(包含了控制器范围内的所有处理,不仅是采样),有两种操作模式 1)附加采样在嵌套采样之后添加 ;2)附加采样作为嵌套采样的父采样来添加
  • 录制控制器

JMeter学习笔记--详解JMeter逻辑控制器的更多相关文章

  1. JMeter学习笔记--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  2. JMeter学习笔记--详解JMeter定时器

    定时器的处理优先于同一作用域内的采样器,如果在同一作用域内有多个定时器,那么所有的定时器都会在每个采样器之前处理. 若定时器所在作用域内无采样器,那么定时器不会被处理 固定定时器,每个线程在请求之间间 ...

  3. mybatis 学习笔记 -详解mybatis 及实例demo

    快速入门1 要点: 首先明白mybatis 是什么 这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. 首先, ...

  4. sql注入学习笔记 详解篇

    sql注入的原理以及怎么预防sql注入(请参考上一篇文章) https://www.cnblogs.com/KHZ521/p/12128364.html (本章主要针对MySQL数据库进行注入) sq ...

  5. C#学习笔记--详解委托,事件与回调函数

    .Net编程中最经常用的元素,事件必然是其中之一.无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等.“protected void Pag ...

  6. Jmeter常用功能详解

    嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅

  7. jmeter 基础功能详解

    jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...

  8. 详解JMeter函数和变量(转载)

    详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...

  9. Jmeter 测试计划元素详解

    Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...

随机推荐

  1. JavaScript事件冒泡机制和阻止事件冒泡及默认事件

    一.阻止事件冒泡: 1.html中加return false 2.js中加return false 3.IE下:window.event.cancelBubble = true:  FF下:event ...

  2. JS/JQuery获取当前元素的上一个/下一个兄弟级元素等元素的方法

    $(function(){ //遍历获取的input元素对象数组,绑定click事件 var len = $("input[type='file']").length; ; i & ...

  3. GoLang中 json、map、struct 之间的相互转化

    1. golang 中 json 转 struct <1. 使用 json.Unmarshal 时,结构体的每一项必须是导出项(import field).也就是说结构体的 key 对应的首字母 ...

  4. IIS-网站发布之后访问HTTP 错误 403.14 - Forbidden

    这种问题一般是因为页面本身发生了错误的原因导致的,这个时候先开启[目录浏览]功能 开通目录浏览之后再重新访问,就能看到相应的错误了,再去进行相应的解决就可以了.

  5. Cognos Report Studio 链接查询需要注意的地方2

    在Report Studio里面用SQL设计报表,查询2,查询3 要链接一般按条件  a1=b1 在选择链接方式需要注意的地方: 默认链接 外部链接 需要设置打开FM,打开报表设计引用的数据包(FM- ...

  6. 没有main函数的helloworld

    差点儿全部程序猿的第一堂课都是学习helloworld程序,以下我们先来重温一下经典的C语言helloworl /* hello.c */ #include <stdio.h> int m ...

  7. Foreda8上安装Ant1.9.2

    Ant在Win上安装很简单,解压拷贝+设置Ant_Home,在Linux上差不多也是这两步. 首先下载apache-ant-1.9.2-bin.tar.gz. 然后解压tar xvzf apache- ...

  8. 字段计算器VBS

    ArcGIS属性表中右键可调用字段计算器.写一些简单代码可操作属性表,有VBS和Python两种. 现在要求是:如果"地块编码"为空,则将"地块编号"赋给&qu ...

  9. 数据库 之 E-R实体关系模型

    E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 1.表示方法 E-R是描述现实世界概念结构模型的 ...

  10. Windows下安装配置SBT

    1:安装包下载界面 http://www.scala-sbt.org/download.html 下载后进行安装. 安装路径:D:\Java\sbt\conf 2:进行配置 (1)sbtconfig. ...