jmeter 为每个控制器从表达式to中排除最后一个元素

20jt8wwn  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(99)

我的脚本有这种情况,使用下面的正则表达式,我得到14个文件名,我想从其中发送13个文件名给每个控制器和最后一个文件名另一个事务,如何在JMeter中做到这一点?
Regex表达式详细信息:

Variable Name :  FileName
Expression : <file name='(.+?)' size=
Template : $1$
Match Number : -1

并获得了以下14个文件名:

dc592db8421a4962ae1a6443528798b8
9107c0cfcafb4432b1b23ab4376e4270
afa2c15cbfb343dc9f7ce86c8d8060c7
92fadeb05ca24d17b9652f7d7cb0f0f9
13ce49eae6b844fc83465a75993cf189
f874a5d36af440b18890093b2f66567e
b565639b8dd041278680dec9a7571df4
276b5e6ac31c436bbb34eeb1746d2a9a
5a51c36aed5b4e5c95088c3b05f4dd43
3029107b05ec4879bbde5b83d59ddae6
3b1eb34f07424709a1416239a7ef95f4
dc82aed56e7547f6adfe141e7898ac77
8df540bfff8e489b978a0d5bbfd2f475
6a8e38941cea41fdb45f0d99dbab2753

希望前13个事务转到for-each控制器,目前我直接在循环控制器中使用变量名。和最后一个文件名排除从循环控制器,并将其发送到另一个事务,这是6a8e38941cea41fdb45f0d99dbab2753

8tntrjer

8tntrjer1#

那么,您将不得不切换到循环控制器,并设置循环的数量,以使用__intSum()函数,如

${__intSum(${FileName_matchNr},-1,)}

而不是输出变量使用以下表达式:

${__V(FileName_${__intSum(${__jm__Loop Controller__idx},1,)},)}

最后一个匹配可以使用__V()函数引用,如下所示:

${__V(FileName_${FileName_matchNr},)}

有关JMeter Functions概念的更多信息:Apache JMeter Functions - An Introduction

相关问题