jmeter 循环取值赋值给form_JMeter系列(三)逻辑控制器详解

循环控制器:

指定迭代次数,可以用具体数字,也可以通过变量控制

永远:表示无限循环

2deb57c8e49bcc2c019c0b0842edc0be.png

点击查看示例:Jmeter实例(四)_图片爬虫

简单控制器:

  这是最基础的一个控制器,它可以让脚本分层,变成一个模块,但是本书并不具有任何的逻辑控制能力

Foreach控制器:

ForEach控制器用户变量一起使用,用于遍历读取返回值。该控制器下的任何请求和元件都会被执行一次或多次

注:foreach控制器通常和表达式提取器一起使用。表达式提取值应为-1,表示取全部值,然后sampler在foreach控制器下执行遍历。

 42358df2284eb222ce5287e76e4dabe3.png

def8202598c564791c117995dce01f96.png

eed08fd10dda42be0dbf47708eb60dd0.png

仅一次控制器:

  作用:在测试计划执行期间,该控制器下的子结点对单线程只执行一次,但是在多线程下仍然会执行多次。登录场景经常会使用到这个控制器。

事务控制器:

作用:事务控制器用来统计该控制器下所有子结点的性能数据。

参数:

Generate parent sample:勾选后,所有的结果将在父结点中展示(选中这个参数结果展示如下图红框,否则显示为下图蓝框)

3f76a8cc2b55bac0d85412773c6f322b.png

362a77acb613f419f64f66236393fb96.png

If控制器 :

  作用:根据表达式决定如何执行后续分支,默认使用javascript的语法进行判断(如下图红框内的文字)。

96ba37a9a6ebb3b1547e1222520f4e9b.png

判断 project_id 不为空,且数据库返回值与接口返回值相等时,执行 if 控制器下面的添加需求接口

点击查看示例:Jmeter实例(一)_Beanshell脚本断言Mock接口

Switch控制器:

作用:Switch控制器通过给该控制器中的Value赋值,来指定运行哪个采样器。有两种赋值方式:

· 第一种是数值,Switch控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪个元素。

· 第二种是直接指定子元素的名称,比如采样器的Name来进行匹配。当指定的名称不存在时,不执行任何元素。

当Value为空时,默认执行第1个子节点元素。 

示例:

1、Switch Controller选择的值为 客服登录

2cce0778dbed851d46cfb3455ddb89fc.png

2、执行结果:

76d3361635088ecdf84ebb29c4375806.png

吞吐量(Throughput Controller):

  作用:控制其下的子节点的执行次数与负载比例分配,别被名字迷惑了,跟吞吐量没任何关系。也有两种方式:

ccb6e75d10ea9d6aaca91ea315d78382.png 

  1. Total Executions:设置运行次数,整个测试计划中总计执行次数

  2. Percent Executions:设置运行比例(1~100之间),整个测试计划中总计执行百分比

  3. Throughtput: 设计的数值

  4. Per User: 依据网上的说明在选择Total Executions时,勾选时会在每个线程中执行的次数。但在3.0版本中尝试使用无效 

示例:

1、设置线程组循环5次:

2700342190c861382fcb92723587a1ce.png 

2、Throughput Controller1的子结点执行3次:、

c7db757887bf9db90bca5236f630aa69.png

 结果发现一共运行了3次

7f83e96022672fefbc992be51cdf553e.png

3、Throughput Controller2的子结点执行(40% * 线程组循环次数5)= 2次:注意percent选项下,填写的是百分比

14e6143211cb6adfa027ba4a7098272c.png

观察运行结果,发现运行了2次

20d16171d723364c15923a4d330b13a5.png

随机控制器:

作用:随机执行其下的某个子结点

应用场景: 用户对页面的随机访问

 0c5bebb560bf29032c652176dc4c67b9.png

执行结果,随机选择了三个登录中的一个

1e5321ce5b31014df1be204395c40788.png

 多运行一次,观察结果,发现两次运行的顺序不同,但是每个接口都运行了一遍

交替控制器:

忽略控制器块:勾选后,子控制器每次只能发起一个请求

Interleave accross threads:勾选之后,控制器下的子元素会依次执行

如果交替控制器挂在循环控制器之下,那么循环次数与线程数的作用相同

7d2a49ee5212141c3f141ee4ffe585e2.png

点击查看示例:Jmeter(二十九)循环控制器+交替控制器+事务控制器 完美实现接口字段参数化校验 

模块控制器:

· 模块控制器,用于跳转到选定的控制器位置并执行对应的控制器

· 应用场景: 业务逻辑的跳转

· Module to Run: 选择需要跳转到的目标控制器 

a05f83e49443a43da9082ce921a4803e.png  

While 控制器:

While 控制器,与开发语言中的While功能一致。直到条件为false时,停止运行 

条件如下: 

1:为空(不输入任何值) -- 直到某次请求执行失败则退出循环 

2:LAST -- 直到最后一个请求请求失败则退出循环 

3:其它 -- 条件值等于"false"时则退出循环 

例:${num!=5判断变量num的值是否为5等于5则退出循环 

 32095a038ad5c9b3f476cdcc336250e8.png

${__javaScript("${num}"!=8 && "${num}"不等于8的情况下执行循环体,但是只能循环5次  

我们通过计数器让它有十次循环的机会

fe8f9ed73d6c0937fa8054f5f7e54b50.png 

查看结果,循环体执行到${num}==5的时候就停止了 

4a306813e96591a6b1f0acaaf31589da.png

点击查看示例:Jmeter(三十)while控制器实现ssh三次重连

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/383062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c 复杂的前置后置面试题_OPPO Reno拆解:优秀工艺由外而内,复杂用料不负旗舰之名...

OPPO的新系列Reno手机最近吸引了不少注意力,不管是消费者还是手机极客都对其优秀的性能和强大的配置抱有极大的兴趣。最近,知名数码博主爱玩客对Reno十倍变焦版进行了拆解,从内部结构向我们揭示了这部手机的强大之处。并且点评道:…

差分矩阵

题目描述 输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上c。 请你将进行完所有操作后…

框架controller找不到_SpingBoot框架知识详解

Spring boot框架1、什么是Spring Boot?​ Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Sprin…

架构的演变

基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。 1.什么是分布式? 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在…

axure8.0导出页面打不开问题_excel怎么转pdf?excel打不开?转换成PDF就行了

excel转pdf怎么做?年底最后一天了,我都被一堆的Excel文件搞得头疼,在这些时间里,要让我对几个G的文件进行操作,我已经是忙得不可开交,而在最后的最后,我的主管还说他的电脑无法打开我的Excel 了…

python怎么爬虫理数据_Python神技能 | 使用爬虫获取汽车之家全车型数据

最近想在工作相关的项目上做技术改进,需要全而准的车型数据,寻寻觅觅而不得,所以就只能自己动手丰衣足食,到网上获(窃)得(取)数据了。汽车之家是大家公认的数据做的比较好的汽车网站…

linux运算_CentOS「linux」学习笔记22:算术运算符、逻辑运算符、关系运算符

​linux基础操作:主要介绍啦算术运算符、逻辑运算符、关系运算符1.算术运算符[主要用来计算数值]注意使用expr运算时运算符和数值之间需要有空格,其他方式运算时不能有空格。常用算术运算符号:表示相加,-表示相减&…

python实现小型搜索引擎设计_基于JAVA的中小型饭店餐饮管理系统的设计与实现...

好程序设计擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON(DJANGO/FLASK)、THINKPHP、C#、安卓、微信小程序、MYSQL、SQLSERVER等,欢迎咨询今天将为大家分析一个中小型饭店餐饮管理系统(俗话说“民以食为天”,中国的饮食文化有着久远的历史。“吃”不仅仅指的是填饱肚子,它早…

评估报告有效期过期了怎么办_托福成绩过期了怎么办?

托福成绩是有期限的,考生申请美国大学的时候也只能在托福成绩有效期内。所以考托福的时候一定要关注一下托福成绩什么时候过期,以及大学申请的截止日期,提前做好安排。下面我们一起看看关于托福成绩有效期的相关问题。托福成绩有效期是多久&a…

装配组件_基于Haption力反馈系统的交互式装配仿真

在一个新工业产品的设计过程中,装配规划是非常重要的任务。如果规划不好将造成很大的资金浪费,致使组件不能正确地集成。例如典型问题:移动一个组件到指定位置但空间不足;使用工具够不到螺丝;操作者没有足够的视域以保…

作为唯一索引_Mysql什么情况下不走索引?

本文基于Mysql5.7版本和InnoDB存储引擎。1、InnoDB索引组织表在InnoDB引擎中,表都是按照主键顺序组织存放的,这种存放方式的表称为索引组织表。InnoDB存储引擎中的表,都有主键,如果没有显式声明主键,则采取以下措施&am…

r语言系统计算上是奇异的_R语言实现并行计算

Python作为多线程的编程语言在并行方面相对于R语言有很大的优势,然而作为占据统计分析一席之地的R语言自然不能没有并行计算的助力。那么我们来看下在R语言中有哪些并行的包:隐式并行:OpenBLAS,Intel MKL,NVIDIA cuBLA…

cansina 目录_dirmap - 一个高级web目录、文件扫描工具-华盟网

Dirmap一个高级web目录扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑需求分析经过大量调研,总结一个优秀的web目录扫描工具至少具备以下功能:并发引擎能使用字典能纯爆破能爬取页面动态生成字典能fuzz扫描自定义请求自定义响应结…

唯有自己变得强大_物竞天择,适者生存,唯有强大自己,方能百毒不侵

物竞天择,适者生存,这是亘古不变的道理。面对生活中的困难,人生路上的挫折,我们只有足够坚强,足够勇敢,足够强大,才能战胜这一切。人活着要明白,你所有的负面,都源于你的…

树莓派c语言运行_树莓派完成简单的编程(四)

在上一篇文章中,我们学习了Vi文本编辑器,那么用它可以实现什么功能呢?树莓派python以及c语言编程这里我选择了最简单和很流行的两种编程语言:C语言和Python。实现最简单的功能,输出hello world。Python编程简介Python是…

python中的与或非_「Python基础」 While 循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:while 判断条件:执行语句……执行语句可以是单个语句或语句块。判断条件可以是任何表达式&…

go定时器 每天重复_Go语言学习基础-定时器、计时器

Timer计时器如果希望在将来的某个时间点执行Go代码,或者在某个时间间隔重复执行Go代码,使用Go内置的timer和ticker功能。先看定时器timer,然后再看计时器ticker。定时器代表未来的单个事件。告诉定时器需要等待多长时间,它返回一个…

html类名定义规则_HTML入门笔记1

HTML 是谁发明的?Tim Berners-LeeHTML起手式&#xff1a;HTML起手式 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0&q…

怎样检测mysql5.5安装成功_64位wiN7系统中装配MySQL5.5.17(测试安装成功哦!)

64位wiN7系统中安装mysql5.5.17(测试安装成功哦&#xff01;&#xff01;~~)下载地址&#xff1a;[url] http://www.mysql.com/downloads/mysql/[/url]下载的话需要登录,你只需按照要求注册一个账号,然后下载即可.我下载的是mysql-5.5.17-winx64.msi版本.安装步骤:Step 1. Mysq…

xcode 创建模拟器_Xcode编译WebKit

下载WebKit源码1)进入https://webkit.org/2)点击页面的 Get Started 进入新页面&#xff0c;如下图所示3)点击 Getting the code 进入新页面&#xff0c;如下图所示4)在源码下载页面&#xff0c;有多种下载方式&#xff0c;包括直接下载代码zip包&#xff0c;通过SVN下载&#…