jmeter的1个线程如何遍历提取到的1个变量的多个值?

ops/2024/10/19 7:36:11/

某个请求的uri是动态变化的,且这个url这个从上一个接口中提取到,但是其值可能有多个,也可能有1个,1个用户执行时,需要将这几个值作为uri全部请求一遍。

如我需要把变量C53这个变量(共计取到了3个值,这个值是不确定的)分别请求:

在这里插入图片描述

1、把uri中这个变量C52从上个接口通过json提取器提取出来:

在这里插入图片描述

提取出来打印如下有3个值:

在这里插入图片描述

2、处理这个变量:

http请求需要添加2个控制器:if控制器、循环控制器

在这里插入图片描述

1)添加if控制器(为了保证成功提到这个变量在执行后续请求)

在这里插入图片描述

${__jexl3(${C53_matchNr}>0,)} : 这个条件是保证提取到的这个变量的个数大于0

2 )添加循环控制器: 一个用户把这个变量的几个值全部循环,循环次数是取到的这个变量的个数,如图:
在这里插入图片描述

3)变量值有了,循环次数有了,这时候需要http请求了,请求如下:
在这里插入图片描述此时,你肯定会好奇了,为什么这个请求uri中不是/${c53},而是/${__V(C53_${c53_index})},这看着像2个变量组成的1个变量,这个变量c53_index是什么?看着有点像什么索引。。。

原因:因为变量C53取值有3个,分别是C53_1,C53_2,C53_3,我最开始是用beanshell把这3个变量循环,然后赋值给这个变量来请求,后面发现请求次数是3次,但是都是请求的最后一个值C53_3,因为jmeter机制是http请求先去拿这个变量,发现这个变量最终赋值的只有C53_3,

因此,我在beanshell中打印这个循环的索引:

bash">int c53_index =  Integer.parseInt(vars.get("c53_index"));log.info("c53_index================: " + c53_index);

发现这个索引打印结果是1,1,1

因此,我网上搜索如果获取这个索引,推荐我用计数器来设置这个C53_1,C53_2,C53_3中的1,2,3,也就是把这个变量的值C53_1,C53_2,C53_3分成2部分:一部分是变量C53、一部分控制这个1,2,3。

4)计数器的配置:

(选择的路径:添加-配置元件-计数器)
starting_value:1(表示从1开始)
递增:1(表示自增数。我是1,2,3就设置为1,如果是1,3,5,7就设置为2)
maxmun value:${C53_matchNr}(表示递增到的最大值是多少。这儿是用的变量表示)
引用名称:c53_index(获取到的这个值给他设置一个变量,命名随意,其他地方用的时候就用这个变量)

在这里插入图片描述
这个索引就配置完成了
打印如下:
在这里插入图片描述

3)http请求中把这2个变量组合起来:实现C53_1,C53_2,C53_3的组合
变量1和变量2的组合的规则:${__V(变量1${变量2})},就是(我这儿2个变量中间有下划线):${__V(C53_${c53_index})}
请求的结果,我保存成了文件后如下:是3个不同的请求
在这里插入图片描述


http://www.ppmy.cn/ops/105067.html

相关文章

链动2+1小程序定制开发在餐饮品牌重塑中的应用探索——以“妈妈饺子馆”为例

摘要:随着互联网技术的飞速发展,餐饮业正经历着前所未有的变革。传统餐饮企业如何在激烈的市场竞争中脱颖而出,成为行业关注的焦点。本文以“妈妈饺子馆”为例,探讨链动21小程序定制开发在餐饮品牌重塑中的应用,特别是…

【网络安全】XSS+OTP绕过+账户接管

未经许可,不得转载。 文章目录 正文XSSOTP绕过账户接管正文 目标:www.example.com XSS 不断寻找可能存在XSS的点位。 终于,在个人资料页面:www.example.com/profile_details.php?userid= ,使用Payload<script>alert(1)</script>,实现XSS: 因此,能够实…

Windows Edge 兼容性问题修复

修复 Windows Edge 的兼容性问题可以涉及多个方面&#xff0c;具体取决于你遇到的具体问题。以下是一些常见的 Edge 兼容性问题及其解决方法&#xff1a; 1. 更新 Microsoft Edge 确保你的 Microsoft Edge 浏览器是最新版本。常常&#xff0c;更新可以解决许多兼容性问题。 …

深度学习实战1--决策树与随机森林(最新版本不报错)

1.乳腺癌数据集简介 乳腺癌数据集包含了美国威斯康星州记录的569个病人的乳腺癌的病情&#xff0c;包含30个维度的生理指标数据(特征),以及乳腺癌是恶性还是良性的标签。因为这是一个二分类问题&#xff0c; 也叫二类判别数据集。 2.实战任务 这数据主要包含569个样本。每个样…

【STM32开发指南】STM32最小系统板详解

【前言】 在单片机项目开发中&#xff0c;STM32系列微控制器因其高性能、低功耗和丰富的外设资源而备受青睐。其中&#xff0c;STM32最小系统板作为STMicroelectronics STM32系列微控制器的基础硬件平台&#xff0c;不仅简化了硬件设计&#xff0c;还极大地促进了软件开发的便…

IP网络广播系统(IP网络广播系统是什么及它的优势与应用)

一、引言 在当今数字化的时代&#xff0c;音频传播技术也在不断革新。IP网络广播系统作为一种先进的音频传输解决方案&#xff0c;正逐渐在各个领域发挥重要作用。那么&#xff0c;究竟什么是IP网络广播系统呢&#xff1f;它又有着怎样独特的优势和广泛的应用呢&#xff1f;本…

2024最新最全:信息安全风险评估服务,零基础入门到精通,收藏这一篇就够了

基本概念 根据有关信息安全技术与管理标准&#xff0c;对信息系统及其处理、传输和存储的信息的机密性、完整性和可用性等安全属性进行评价&#xff0c;同时评估资产面临的威胁以及威胁利用脆弱性导致安全事件的可能性&#xff0c;并结合安全事件所涉及的资产价值来判断安全事件…

Vue3组件通信方式 v-model 通信

在子组件中&#xff0c;v-model会将modelValue prop和update:modelValue event绑定在一起&#xff0c;当子组件的input事件触发时会emit一个update:modelValue event&#xff0c;从而更新父组件的message。而在父组件中&#xff0c;v-model会将message与modelValue prop和updat…