@@@@@@@@@@@@@@@

千里之行

  今天记录一下个人才使用控制器时的一些心得。逻辑控制器在jmeter中有很多种,个人根据官方解释理解的作用就是:通过控制器可以更好地控制请求的执行顺序。jmeter中逻辑控制器打眼一看有很多,其实常用就那么几个,而且逻辑控制器理解起来也很简单,不需要死记硬背,理解工作机制,以后需要的时候百度查一下那个控制器怎么用即可。今天说说几个简单常用的做一下笔记。

1 简单控制器

  没有任何实际作用,笔者目前发现唯一的作用就是分类,就相当于文件夹的作用,新建简单控制器=新建文件夹。文件夹能干啥大家都知道吧,如果把线程组比喻成C盘,那简单控制器就是C盘中一个个文件夹,文件夹中还可以继续新建文件

2 仅一次控制器

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

3 循环控制器

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

4 如果控制器

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

以上就是集中逻辑控制器的界面,不难理解其实并没有什么复杂内容,记录一个控制器使用最简单的场景:用户登录系统(登录请求),登陆成功后打卡(打卡请求)两次

思路:登录放在第一个文件夹,打卡放在第二个文件夹,登录仅执行一次;打卡需要判断,如果登录成功,则循环执行打卡2两次。根据思路用jmeter实现步骤如下:

1新增两个简单控制器,分别存放两个请求

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

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

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

  按照顺序,程序执行顺序为:登录一次-如果登录成功则进入循环控制器,执行打卡两次的操作。如此便模拟出上述业务场景。其实这个场景可以有更简便的写法,这里只是用这个例子来说明控制器的作用和用法。

  jmeter其他逻辑控制器还有很多,这里就不一一详述,其他控制器教以上四个来说更为复杂,可以解决很多复杂的业务场景,但是其本质逻辑是与上面控制器一致的,实际使用需要根据场景选择需要用到的控制器,不仅仅方便管理请求,维护代码,而且能更真实的模拟实际场景,对性能测试,流程测试都是极为有利的。

--  以上内容均为笔者原创,转载请注明出处,如有不当欢迎指正~

jmeter控制器入门笔记一的更多相关文章

  1. CI框架入门笔记

    当前(2019-03-22)CodeIgniter 框架的最新版本是 3.1.5,于2017年6月发布,距今快两年了也没有更新,这与 Laravel 的更新速度相比差距太大了.因为确实,它是一个很古老 ...

  2. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  3. ES6入门笔记

    ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...

  4. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  5. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  6. Jmeter性能测试入门(链接收藏)

    Jmeter性能测试入门: http://www.cnblogs.com/TankXiao/p/4045439.html

  7. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  8. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  9. OpenGLES入门笔记四

    原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...

随机推荐

  1. Redis系列(八):数据结构List双向链表中阻塞版本之BLPOP、BRPOP和LINDEX、LINSERT、LRANGE命令详解

    1.BRPOP.BLPOP BLPOP: BLPOP 是阻塞式列表的弹出原语. 它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被 BLPOP 命令阻塞. 当给 ...

  2. 六.url配置

    1.Django 如何处理一个请求 (1). django 加载 ROOT_URLCONF(settings.py中配置的) 指定的模块,并寻找可用的urlpatterns变量.它是 django.c ...

  3. Git 新建版本库命令

    Command line instructions Git global setup git config --global user.name "张三" git config - ...

  4. Python-数据结构-最全六种排序代码实现

    1.冒泡排序 def bubble_sort(alist): """冒泡排序""" n = len(alist) for j in rang ...

  5. Oracle Solaris 10下gdb安装(附安装包)

    文章目录 1. 背景说明 2. gdb相关包 3. gdb安装 3.1 上传资源 3.2 解压 3.3 安装 3.4 环境变量 4. 位数确认 5. 验证可用性 1. 背景说明 本文承接Oracle ...

  6. Netty源码学习系列之5-NioEventLoop的run方法

    前言     NioEventLoop的run方法,是netty中最核心的方法,没有之一.在该方法中,完成了对已注册的channel上来自底层操作系统的socket事件的处理(在服务端时事件包括客户端 ...

  7. 常用API - Scanner、Random、ArrayList

    API 概述 API(Application Programming Interface),应用程序编程接口. Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档. 这些类 ...

  8. JZOJ2018提高组-测绘

    测绘 题目大意 为了研究农场的气候, \(Betsy\) 帮助农夫 \(John\) 做了 \(N(1 <= N <= 100)\) 次气压测量并按顺序记录了结果 \(M_1...M_N( ...

  9. dotnet core 在 MIPS 下的移值进度

    本文仍处于修订中 写在开始前 我们的主要业务基于 dotnet core 2.x 与 3.1 完成,目前 dotnet core 3.1 支持的 CPU 架构列表中还不包含龙芯,且在 gitlab i ...

  10. POJ 1046 Color Me Less 最详细的解题报告

    题目来源:POJ 1046 Color Me Less 题目大意:每一个颜色由R.G.B三部分组成,D=Math.sqrt(Math.pow((left.red - right.red), 2)+ M ...