JMeter之常见逻辑控制器实践

news2024/11/15 11:49:45

ForEach Controller(循环控制器)

组件使用说明

 

选项说明:

①需要循环遍历名称(name);
②循环变量的下标起点(name_0);
③循环变量的下标终点(name_4);
④引用变量名称定义;
⑤在变量后加_(name_);

实现逻辑说明:

①就是分别循环取name_0到name_4变量对应的值;
②然后通过引用变量test实现值的传递;

示例:

1、线程组设置

2、用户变量定义

 Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

3、ForEach Controller配置

说明:

①下标的起始值是从0开始的
②下标的终止值是(n-1)

4、Java调试

5、执行结果分析

说明:

①通过结果可以知道,同一个请求,执行了4次,分别使用不同的值。

Runtime Controller(控制器)

组件使用说明

说明:

①用于控制runtime controller控制器下的组件的执行时长;
②Runtime(seconds)单位为秒;
③Runtime(seconds)值为0时,下面的组件不执行;

示例

1、线程及用户变量配置

2、Runtime Controller配置

说明:

①配置为6秒;

3、Java调试

4、执行结果分析

说明:

①执行耗时为6秒;
②在6秒的时间内,其下的组件执行多次。

Switch Controller(控制器)

Switch Controller 条件控制器,和高级语言Java中的Switch逻辑控制语句使用原理相同,当我们业务流程有多个分支时,我们只执行满足场景的请求及组合,用接口自动化应该怎么来实现呢?

要实现以上的需求,可以使用Switch Controller控制器,下面介绍具体的使用方法

说明:

①Swith value:其控制下元件的匹配值;

示例:

1、用户变量

2、Swith Controller配置

说明:

①执行指标为3的请求;

②Switch Controller 下的请求编号是从0开始的计算的,不是从1开始的,这点需特别注意;

说明:

①预期是执行test-4,结果是40。查看执行结果是否匹配。

3、执行结果分析

说明:

①实际结果与预期结果一致。

While Controller(控制器)

组件使用说明

①While Controller会一直运行,直到条件(Condition)为false;
②Condition的可能值如下:

  • 为空(不输入任何值) -- 直到某次sample执行失败才会退出循环;
  • LAST -- 直到最后一个sample请求失败,才会退出循环;
  • 其它 -- 条件值等同于字符串"false"(等同于输入框中输入false)时,退出循环;

示例:

1、用户变量定义

2、While Controller配置

说明:

① Condition为空,直到其组件下的请求有失败的,则退出。

3、java调试

4、执行结果分析

说明:

没有失败的请求时,其下的组件会一直执行。

Interleave Controller(控制器)

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

         

 

组件使用说明

说明:

① 忽略子控制模块:如果勾选,则将子控制器作为一个请求,只执行一次(如下面有 上面提到的While Controller,里面只会执行一次下面样例)。如果不勾选,则子控制器中样例都执行。
② 用途:该组件的请求交换执行。

示例:

1、线程组配置

说明:

①一个线程执行3次。

2、 用户自定义变量

3、Interleave Controller配置

4、执行结果分析

说明:

从结果可以看到,交换控制器的请求执行了3次,每次执行的请求都不同。

在新版JMeter中该控制器,还有个选项:

Interleave across threads 跨线程交替。选中此项,则交替控制器下的请求将应用至所有线程和循环中迭代。

示例

1、当勾选上此项,线程组配置

说明:线程数配置为3。

2、执行结果分析

说明:从结果中看到,线程间也进行了交替;与前面单线程执行3次的结果一致。

Once Only Controller(控制器)

原理:此控制器下的组件只会运行一次,如把登陆放到该组件下。

示例:

1、线程组配置

说明:

①一个线程,循环3次;

2、用户变量定义

3、once only controller

4、执行结果分析

说明:

①可以看到仅一次控制器下的组件,执行了一次,和预期相符。

If Controller(控制器)

原理:通过条件来判断该组件的请求是否执行:满足条件就执行,即返回True;不满足条件就不执行。

说明:

①输入判断条件,可以填写变量;
②interpret conditon as Variable Expression?:勾选此项时,使用表达式判断。如:

示例:

1、线程配置

2、用户变量定义

3、if controller配置

说明:

表达式做为判断条件;

说明:

变量做为判断条件;

4、执行结果分析

说明:

判断条件为True,该组件下的请求被执行。

待大家的实践

随机控制器:随机控制器下的请求是随机的,即请求随机执行,所有请求不一定都会执行。
随机顺序控制器:控制下的所有请求都执行,只是顺序是随机的。

 总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

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

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

相关文章

jsvmp xs逆向学习

内容仅供参考学习 欢迎朋友们V一起交流: zcxl7_7 首先直接搜索关键词 找到encrypt位置 接下来就是分析encrypt过程,详情请看专栏中的文章

leetcode 2448. Minimum Cost to Make Array Equal(使数组相等的最小成本)

数组nums的元素每次可进行下面的操作: 每个元素1 或者 -1。 操作一次的cost是cost[i]. 问把nums的元素全部变为相等的元素需要的最小的cost. 思路: nums的元素全部变为相等的元素,这个相等的元素是多少,现在不知道。 一旦知道了…

Jmeter查看结果树之查看响应的13种方法

目录 前言: 1、Text 2、RegExpTester 3、BoundaryExtractorTester 4、CSSSelectorTester 5、XpathTester 6、JSONPathTester 7、HTML 8、HTMLSourceFormatted 9、HTML(downloadresources) 10、Document 11、JSON 12、XML 13、B…

RPA×IDP×AIGC,实在智能打造全新“超进化”文档审阅超自动化解决方案

企业商业活动频繁,每日都有大量文档被创建、书写、传递,需要人工审阅核查,以确保其准确性和合法性。这是对企业文档管理的一个巨大挑战,尤其对于金融机构、审计机构等文本相关岗位的工作人员来说更是如此。传统的文档审核通常需要…

集合和泛型的详细讲解

集合 1)可以动态保存任意多个对象,使用比较方便! 2)提供了一系列方便的操作对象的方法:add、remove、set、get等3)使用集合添加,删除新元素的示意代码-简洁了 集合的框架体系 …

实时检测Aruco标签坐标opencv-python之添加卡尔曼滤波

在实时检测Aruco标签坐标用于定位的时候发现,追踪效果不是很好,于是在检测过程中添加了卡尔曼滤波,在aruco检测算法检测不到aruco标签的时候,调用卡尔曼滤波算法(KalmanFilter),补偿丢失的定位的…

Rabbitmq学习

文章目录 前言RabbitMQ 1 同步调用和异步调用2 常见的MQ对比3 安装RabbitMQ4 RabbitMQ学习4.1 helloworld学习 5 Spring AMQP5.1 AMQP的入门案例(使用rabbittemplate进行消息发送和接受)5.2 RabbitMQ的workquene5.3 发布订阅模型(exchange(广播fanout 路由direct 话题topic))5.…

RK3588 修改USB/Sata/TF挂载点

文章目录 概要整体架构流程技术名词解释技术细节小结APP概要 rk3588 android12 平台的挂载点是:/storage/设备卷名(即uuid) 对上层开发不太友好,因此需要固定某个挂载点提供上层app调用。 修改后的路径效果如下: 整体架构流程 从概要图示中可知:对每个挂载点创建软连接来…

大牛分享,提高工程性能的7个简单技巧

软件性能和弹性(恢复能力)是用户体验的关键组成部分,但随着软件行业采用DevOps,它开始在性能和弹性方面出现不足。在软件完全失败之前,性能问题经常被忽略。 但是,我们都知道性能不会突然降低。随着软件通…

【二叉树part02】| 102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

目录 ✿LeetCode102.二叉树的层序遍历❀ ✿LeetCode226.翻转二叉树❀ ✿LeetCode101.对称二叉树❀ ✿LeetCode102.二叉树的层序遍历❀ 链接:102.二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地&#xff…

Python入门(二十七)测试(二)

测试(二) 1.测试类2.各种断言方法3.一个要测试的类4.测试AnonymousSurvey类5.方法setUp() 1.测试类 前面我们编写了针对单个函数的测试,下面来编写针对类的测试。很多程序中都会用到类,因此证明我们的类能够正确工作大有裨益。如…

AI绘画——了解AI绘画爆火原因与工具,并生成几个端午绘画小作品

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 目录 前言 一.AI绘画 1.AI绘画爆火原因 2.AI绘画背后原理 二.AI绘画工具介绍 1.midjour…

IDC武连峰:应用数字安全免疫力理念,促进企业在数字时代韧性发展

作者:IDC中国副总裁、首席分析师 武连峰 数字安全免疫力是一个企业针对各种数字安全威胁时的防御机制,与人体免疫力相似,企业数字安全免疫力包含两类:企业安全文化意识与合规是先天性数字安全免疫力,今天任何一个企业…

vue使用swiper三行轮播问题

1、轮播图设置属性slidesPerColumn:3实现不了,解决方案如下: this.scheduleData是后台请求的数据,通过3个一组分组转换为this.scheduleListThreede 的数据! 2、逻辑处理如下: computed: { scheduleListThree: functi…

做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

前言 作为一名测试工程师,工作中在对测试结果进行数据比对的时候,或多或少要和数据库打交道的,要和数据库打交道,那么一些常用的sql查询语法必须要掌握。最近有部分做测试小伙伴表示sql查询不太会,问我有没有sql查询语…

list赋值方法add()...和set()简介

目录 一、方法展示 二、add() 方法介绍 2.1.add(E element) 2.1.1源码 2.1.2.实例截图 2.1.3.Null引起的题外话 2.2.add(int index, E element) 2.2.1.源码 2.2.2.示例截图 2.2.3. add()引起IndexOutOfBoundsException简介 三、addAll()方法…

CSS查缺补漏之《媒体查询@media与BFC》

示例代码如下&#xff1a; <div class"box">世界你好</div> .box {width: 200px;height: 200px;background-color: yellow;color: white;font-size: 24px;text-align: center;line-height: 200px; } 媒体类型 媒体类型允许指定文件将如何在不同媒体上…

OpenCV——《图像平滑》结果输出对比《形态学操作》

1.图像平滑 图像平滑是一项简单且使用频率很高的图像处理方法&#xff0c;可以用来压制、弱化或消除图像中的细节、突变、边缘和噪声&#xff0c;最常见的是用来减少图像上的噪声。 常用的滤波器主要为&#xff1a; 均值滤波器&#xff1a;并不能完全消除噪声&#xff0c;只能…

【服务器】搭建hMailServer 服务实现远程发送邮件

typora-copy-images-to: upload hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工具即可实现远程发送邮件,不需要使用公网服务器,不需要域名,而且邮件账号名称可以自定义. 下面以windows 10系统为环境,介绍使用方法: 1. 安装hMailServe…

小鹏G9高压平台800V电驱动实拍

近日&#xff0c;小鹏汽车董事长何小鹏在其个人社交账号上透露&#xff0c;小鹏G9正按原定计划按部就班推进节奏&#xff0c;将于8月启动预订&#xff0c;9月正式迎来上市&#xff0c;上市后很快就会启动用户交付。 图片来源&#xff1a;何小鹏官方微博 需要样件请联&#xff1…