JMeter学习笔记--详解JMeter逻辑控制器
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逻辑控制器的更多相关文章
- JMeter学习笔记--详解JMeter配置元件
JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...
- JMeter学习笔记--详解JMeter定时器
定时器的处理优先于同一作用域内的采样器,如果在同一作用域内有多个定时器,那么所有的定时器都会在每个采样器之前处理. 若定时器所在作用域内无采样器,那么定时器不会被处理 固定定时器,每个线程在请求之间间 ...
- mybatis 学习笔记 -详解mybatis 及实例demo
快速入门1 要点: 首先明白mybatis 是什么 这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. 首先, ...
- sql注入学习笔记 详解篇
sql注入的原理以及怎么预防sql注入(请参考上一篇文章) https://www.cnblogs.com/KHZ521/p/12128364.html (本章主要针对MySQL数据库进行注入) sq ...
- C#学习笔记--详解委托,事件与回调函数
.Net编程中最经常用的元素,事件必然是其中之一.无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等.“protected void Pag ...
- Jmeter常用功能详解
嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- 详解JMeter函数和变量(转载)
详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...
- Jmeter 测试计划元素详解
Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...
随机推荐
- Java基础(十):封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法.封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访 ...
- scala 学习笔记六 推导
1.介绍 在Scala中,推导将生成器.过滤器.和定义组合在一起. 2.例子 有一种将result用作val(而不是var)的方式,:“就地”构建result,而不是逐项构建,利用yield关键字,当 ...
- Reinvent the Wheel Often
Reinvent the Wheel Often Jason P. Sage Just use something that exists-it's silly to reinvent the whe ...
- (剑指Offer)面试题61:按之字形顺序打印二叉树
题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 思路: 按照广度优先遍历来遍历二叉树,但是需要 ...
- APP 打包測试流程 从零開始
前言: 苹果应用打包測试一直是件令人头疼的事.尤其是第一次打包的时候,因为苹果官网是全英文性且缺少仔细的步骤指引.刚開始学习的人往往要花费非常多时间去干一件三分钟就能搞定的事. 今天我们来透彻的解说一 ...
- Windows 之 防火墙
对于只使用浏览.电子邮件等系统自带的网络应用程序,Windows防火墙(firewall)根本不会产生影响.也就是说,用IE.OutlookExpress等系统自带的程序进行网络连接,防火 ...
- svg translate 操作
function dragElement(evt) { var target = evt.target; var id = target.id; var dx = evt.dx, dy = evt.d ...
- EL运算符(web基础学习笔记十七)
一.EL语法 1.1.语法结构 ${expression} 1.2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一 ...
- TP框架中APP_SUB_DOMAIN_DEPLOY什么意思?
'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名部署 thinkphp开启域名部署/子域名部署/泛域名部署/IP访问部署 Think ...
- Phpcms没有找到网址列表
今天在搞phpcms的采集遇到了这个问题. 没有找到网址列表,请先进行网址采集. 百度,google了好久: 网上答案: 方案1 1.尝试清除 v9_collection_history 表里的内容 ...