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 ...
随机推荐
- 适配 通知 Notification 通知渠道 前台服务 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Restful安全认证及权限的解决方案
一.Restful安全认证常用方式 1.Session+Cookie 传统的Web认证方式.需要解决会话共享及跨域请求的问题. 2.JWT JSON Web Token. 3.OAuth 支持两方和三 ...
- Redis自学笔记–Zset类型及管理简述
Zset类型 ...
- java list按照元素对象的指定多个字段属性进行排序
ListUtils.java---功能类 package com.enable.common.utils; import java.lang.reflect.Field;import java.tex ...
- 【Tip】如何在chrome浏览器中查看网页的Header
步骤:打开“开发者工具”,点Network标签,然后刷新网页,选择Name中的第一项,再点右边的Headers,就出来了. 似乎有点复杂,配合下面的图看就一目了然了.
- 更改Apache的首页
本机Apache的安装过程请见: Apache的首页是由/usr/local/httpd/conf/httpd.conf文件的DocumentRoot决定的. ...## DocumentRoot: ...
- PyQt5教程——组件 Ⅱ(八)
这部分的教程将会继续介绍PyQt5的组件.我们这节教程的内容将包括像素图(QPixmap),单行文本框(QLineEdit)和下拉列表框(QComboBox) 像素图(QPixmap) 像素图(QPi ...
- 每日一句英语:怎样回答美国人的How is it going问候语?
和中国人"吃了吗"是一个性质,本质上仅仅是个话题的起始点,而不是真的想知道你吃了没有. 美国人打招呼有几种方式: 不太熟的人:How are you? 一 般说 pretty go ...
- libcurl库进行http通讯-开篇
从今天開始介绍一些经常使用的库. 首先就来写一写关于libcurl库. libcurl主要功能就是用不同的协议连接和沟通不同的server~也就是相当封装了的sockPHP 支持libcurl(同意你 ...
- mavern安装方法
Installation Instructions Maven is a Java tool, so you must have Java installed in order to proceed. ...