JMeter while 循环不检测 EOF
JMeter while loop does not detect EOF
我想做 "while" 控制器在 JMeter 中从 CSV 读取 EOF 时转到下一个控制器。 while 循环停止了,但是它又迭代了 1 次,我的意思是说当它检测到 EOF 时不需要迭代。当我在 EOF 值为 "True" 上选择停止线程时。 while 循环停止并且不进入下一个循环。
当 CSV 文件检测到 EOF 时,我需要转到下一个循环控制器,而无需再迭代一个循环。
提前致谢。
在您的 CSV 配置中,将 Recycle on EOF?
的设置更改为 false。
从 BlazeMeter - Using the While Controller in JMeter 上的这个 post,我发现你可以将 While Controller 与 If Controller 得到想要的结果。
控制 while 和 if 控制器迭代的条件如下。
${__javaScript("${myVar}" != "<EOF>",)}
注意:确保用您的 csv 文件中的变量替换变量 ${myVar}
。
您需要使用 If Controller 来防止额外的循环迭代,因为 while 循环实际计算的时间。
您的所有示例都是 If Controller 的子项。
原文post很好地解释了这一切。
在您的 CSV 配置中更改以下设置:-
- 在 EOF = False 时回收
- 在 EOF = True 时停止线程
我想做 "while" 控制器在 JMeter 中从 CSV 读取 EOF 时转到下一个控制器。 while 循环停止了,但是它又迭代了 1 次,我的意思是说当它检测到 EOF 时不需要迭代。当我在 EOF 值为 "True" 上选择停止线程时。 while 循环停止并且不进入下一个循环。
当 CSV 文件检测到 EOF 时,我需要转到下一个循环控制器,而无需再迭代一个循环。
提前致谢。
在您的 CSV 配置中,将 Recycle on EOF?
的设置更改为 false。
从 BlazeMeter - Using the While Controller in JMeter 上的这个 post,我发现你可以将 While Controller 与 If Controller 得到想要的结果。
控制 while 和 if 控制器迭代的条件如下。
${__javaScript("${myVar}" != "<EOF>",)}
注意:确保用您的 csv 文件中的变量替换变量 ${myVar}
。
您需要使用 If Controller 来防止额外的循环迭代,因为 while 循环实际计算的时间。
您的所有示例都是 If Controller 的子项。
原文post很好地解释了这一切。
在您的 CSV 配置中更改以下设置:-
- 在 EOF = False 时回收
- 在 EOF = True 时停止线程