jmeter控制器入门笔记一
@@@@@@@@@@@@@@@
千里之行
今天记录一下个人才使用控制器时的一些心得。逻辑控制器在jmeter中有很多种,个人根据官方解释理解的作用就是:通过控制器可以更好地控制请求的执行顺序。jmeter中逻辑控制器打眼一看有很多,其实常用就那么几个,而且逻辑控制器理解起来也很简单,不需要死记硬背,理解工作机制,以后需要的时候百度查一下那个控制器怎么用即可。今天说说几个简单常用的做一下笔记。
1 简单控制器
没有任何实际作用,笔者目前发现唯一的作用就是分类,就相当于文件夹的作用,新建简单控制器=新建文件夹。文件夹能干啥大家都知道吧,如果把线程组比喻成C盘,那简单控制器就是C盘中一个个文件夹,文件夹中还可以继续新建文件

2 仅一次控制器
顾名思义,在这个控制器之下的请求,只会执行一次。第一反应的实际场景就是登陆,因为我们每次进系统第一件事就是登陆,但是我们只会登陆一次,后续操作就不需要登录了,这种场景可以通过仅一次控制器来模拟实现

3 循环控制器
在此控制器下的请求,会根据循环次数循环执行若干次请求,类似线程组循环次数一样,但是注意的是,如果设定线程组执行3次,线程组内循环控制器设置执行两次,那么因为是逻辑上的线程组包含控制器的关系,所以最终这个请求会执行3*2=6次,理解到控制器的机制这个应该不难理解。

4 如果控制器
在此控制器下的请求,需要满足if的条件了才会执行,简单说,如果登陆成功,则执行签到,就可以通过这个请求实现,我们可以设置if的条件来控制我们请求在什么时候执行。实际上大部分逻辑控制器都是通过设置条件控制请求的执行,这也是逻辑控制器的本质。

以上就是集中逻辑控制器的界面,不难理解其实并没有什么复杂内容,记录一个控制器使用最简单的场景:用户登录系统(登录请求),登陆成功后打卡(打卡请求)两次
思路:登录放在第一个文件夹,打卡放在第二个文件夹,登录仅执行一次;打卡需要判断,如果登录成功,则循环执行打卡2两次。根据思路用jmeter实现步骤如下:
1新增两个简单控制器,分别存放两个请求

2在登录文件夹添加进一次控制器,并将登录请求放在仅一次控制器下

3在打卡文件夹中添加如果控制器,设置判断条件为登录成功,思路为判断登录请求是否成功

4在如果控制器下添加循环控制器,设置循环次数为两次,并添加打卡请求

按照顺序,程序执行顺序为:登录一次-如果登录成功则进入循环控制器,执行打卡两次的操作。如此便模拟出上述业务场景。其实这个场景可以有更简便的写法,这里只是用这个例子来说明控制器的作用和用法。
jmeter其他逻辑控制器还有很多,这里就不一一详述,其他控制器教以上四个来说更为复杂,可以解决很多复杂的业务场景,但是其本质逻辑是与上面控制器一致的,实际使用需要根据场景选择需要用到的控制器,不仅仅方便管理请求,维护代码,而且能更真实的模拟实际场景,对性能测试,流程测试都是极为有利的。
-- 以上内容均为笔者原创,转载请注明出处,如有不当欢迎指正~
jmeter控制器入门笔记一的更多相关文章
- CI框架入门笔记
当前(2019-03-22)CodeIgniter 框架的最新版本是 3.1.5,于2017年6月发布,距今快两年了也没有更新,这与 Laravel 的更新速度相比差距太大了.因为确实,它是一个很古老 ...
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- ES6入门笔记
ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- Jmeter性能测试入门(链接收藏)
Jmeter性能测试入门: http://www.cnblogs.com/TankXiao/p/4045439.html
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- OpenGLES入门笔记四
原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...
随机推荐
- Redis系列(八):数据结构List双向链表中阻塞版本之BLPOP、BRPOP和LINDEX、LINSERT、LRANGE命令详解
1.BRPOP.BLPOP BLPOP: BLPOP 是阻塞式列表的弹出原语. 它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被 BLPOP 命令阻塞. 当给 ...
- 六.url配置
1.Django 如何处理一个请求 (1). django 加载 ROOT_URLCONF(settings.py中配置的) 指定的模块,并寻找可用的urlpatterns变量.它是 django.c ...
- Git 新建版本库命令
Command line instructions Git global setup git config --global user.name "张三" git config - ...
- Python-数据结构-最全六种排序代码实现
1.冒泡排序 def bubble_sort(alist): """冒泡排序""" n = len(alist) for j in rang ...
- Oracle Solaris 10下gdb安装(附安装包)
文章目录 1. 背景说明 2. gdb相关包 3. gdb安装 3.1 上传资源 3.2 解压 3.3 安装 3.4 环境变量 4. 位数确认 5. 验证可用性 1. 背景说明 本文承接Oracle ...
- Netty源码学习系列之5-NioEventLoop的run方法
前言 NioEventLoop的run方法,是netty中最核心的方法,没有之一.在该方法中,完成了对已注册的channel上来自底层操作系统的socket事件的处理(在服务端时事件包括客户端 ...
- 常用API - Scanner、Random、ArrayList
API 概述 API(Application Programming Interface),应用程序编程接口. Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档. 这些类 ...
- JZOJ2018提高组-测绘
测绘 题目大意 为了研究农场的气候, \(Betsy\) 帮助农夫 \(John\) 做了 \(N(1 <= N <= 100)\) 次气压测量并按顺序记录了结果 \(M_1...M_N( ...
- dotnet core 在 MIPS 下的移值进度
本文仍处于修订中 写在开始前 我们的主要业务基于 dotnet core 2.x 与 3.1 完成,目前 dotnet core 3.1 支持的 CPU 架构列表中还不包含龙芯,且在 gitlab i ...
- POJ 1046 Color Me Less 最详细的解题报告
题目来源:POJ 1046 Color Me Less 题目大意:每一个颜色由R.G.B三部分组成,D=Math.sqrt(Math.pow((left.red - right.red), 2)+ M ...