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

千里之行

  今天记录一下个人才使用控制器时的一些心得。逻辑控制器在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. 区间DP之凸多边形的三角剖分

    题目 给定一具有N个顶点(从1到N编号)的凸多边形,每个顶点的权均已知.问如何把这个凸多边形划分成N-2个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小? 输入 第一行 顶点数N(N<5 ...

  2. 移动端商城项目代码截图 使用vue.js。

  3. Django---drf入门

    目录 1 web开发模式 2 api接口 3 postman的使用 4 Restful规范(重点) 5 drf的安装和简单使用 3 cbv源码 4 APIView源码分析 1 web开发模式 #前后端 ...

  4. pythonl操作数据库

    目录 今日内容详细 Navicat软件 提示 练习题 pymysql模块 sql注入 navicat可视化界面操作数据库 数据库查询题目讲解(多表操作) python如何操作MySQL(pymysql ...

  5. 协同合约HACKATHON 0X03;

    协同合约HACKATHON 0X03; 使用Fetch.AI技术开发一个共享行程协同合约.超过100,000个FET代币奖励. 介 绍 拼车是对你的钱包和环境都非常有益的,因此UberPool™等共享 ...

  6. requests接口自动化3-url里带参数的get请求:params

    url里带参数的get请求:用params传参 #2.带参数的get请求,把参数写成字典格式,用params传参 para2={"type":"math"} r ...

  7. java 面向对象(十八):包装类的使用

    1.为什么要有包装类(或封装类)为了使基本数据类型的变量具有类的特征,引入包装类. 2.基本数据类型与对应的包装类: 3.需要掌握的类型间的转换:(基本数据类型.包装类.String) 简易版:基本数 ...

  8. 数据可视化实例(十三): 发散型文本 (matplotlib,pandas)

    偏差 (Deviation) https://datawhalechina.github.io/pms50/#/chapter11/chapter11 发散型文本 (Diverging Texts) ...

  9. day7:字符串的操作/方法&字符串的格式化format&列表的操作

    字符串的相关操作 1.字符串的拼接 strvar = "vegeta"+"ble" print(strvar) # vegetable 2.字符串的重复 str ...

  10. 重学c#系列——c# 托管和非托管资源(三)

    前言 c# 托管和非托管比较重要,因为这涉及到资源的释放. 现在只要在计算机上运行的,无论玩出什么花来,整个什么概念,逃不过输入数据修改数据输出数据(计算机本质),这里面有个数据的输入,那么我们的内存 ...