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 ...
随机推荐
- Taro 3 正式版发布:开放式跨端跨框架解决方案
作者:凹凸曼 - yuche 从 Taro 第一个版本发布到现在,Taro 已经接受了来自于开源社区两年多的考验.今天我们很高兴地在党的生日发布 Taro 3(Taro Next)正式版,希望 Tar ...
- 【必读】前端需要懂的 APP 容器原理
App 容器,简言之,App 承载某类应用(H5/RN/Weex/小程序/Flutter ...)的运行环境,可主动干预并进行功能扩展,达到丰富能力.优化性能.提升体验的目的,如页面数据预取(pref ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之php-fpm配置及其与Nginx的通信
一.php-fpm的配置 1. php-fpm的配置,首先要关注进程数量. php-fpm的进程管理方式有三种:static.dynamic.ondemand. static方式,开启固定数量(pm. ...
- JAVA基础-继承机制
需要掌握的知识点: 包的使用 继承时,子类如何覆盖父类方法(重写和重载) 继承时,构造方法的执行过程 JVM中子类如何实例化(先实例化父,再实例化子) super和this关键字 final关键字 包 ...
- H5禁止微信内置浏览器调整字体大小
微信webview内置了调整字体大小的功能,用户可以根据实际情况进行调节.但是这也会导致字体大小改变以后,出现页面布局错乱的情况. 1.iOS的解决方案是覆盖掉微信的样式: body { /* IOS ...
- 从0开始,手把手教你开发并部署上线一个知识测验微信小程序
上线项目演示 微信搜索[放马来答]或扫以下二维码体验: 项目源码 项目源码 其他版本 Vue答题App实战教程 Hello小程序 1.注册微信小程序 点击立即注册,选择微信小程序,按照要求填写信息 2 ...
- day25 作业(ATM第一版)
目录 conf.setting.py core.src.py db.db_handler.py interface.admin_interface interface.bank_interface i ...
- 我们现在的git版本管理
1.git发布正式版都统一用master分支的代码发布2.每次开发下一版本的需求时,将master分支的代码打一个tag,版本号与后台一致3.需要紧急修复线上的bug时,从master分支拉一个分支出 ...
- 数据可视化基础专题(七):Pandas基础(六) 数据增删改以及相关操作
首先第一部还是导入 Pandas 与 NumPy ,并且要生成一个 DataFrame ,这里小编就简单的使用随机数的形式进行生成,代码如下: import numpy as np import pa ...
- Python之爬虫(十七) Scrapy框架中Spiders用法
Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据,总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以初始的URL初始化Request,并设 ...