多随机值Jmeter

多随机值Jmeter,jmeter,Jmeter,在我的脚本中,我需要生成50左右的多个随机值,其中我的数据馈送器是一个数组 我可以通过代码复制来做到这一点,但我更喜欢使用一些循环的更聪明的方法 我的代码(JSR223预处理器)如下所示: import java.util.*; String[] categories = [0, 1, 2, 3, 4, 5] int idx1 = new Random().nextInt(categories.length); String category1 = (categories[idx1]);

在我的脚本中,我需要生成50左右的多个随机值,其中我的数据馈送器是一个数组

我可以通过代码复制来做到这一点,但我更喜欢使用一些循环的更聪明的方法

我的代码(JSR223预处理器)如下所示:

import java.util.*;  

String[] categories = [0, 1, 2, 3, 4, 5]

int idx1 = new Random().nextInt(categories.length);
String category1 = (categories[idx1]);

int idx2 = new Random().nextInt(categories.length);
String category2 = (categories[idx2]);

vars.put("pickValue1", category1);
vars.put("pickValue2", category2);
然后在脚本中使用pickValue1和pickValue2

如何使用更智能的循环,而不复制/粘贴50倍以下代码

int idx1 = new Random().nextInt(categories.length);
String category1 = (categories[idx1]);

要避免代码重复,请执行以下操作:

String[] categories = [0, 1, 2, 3, 4, 5]
for (int i=0; i<categories.length; i++) {
   vars.put("pickValue" + (i+1), categories[new Random().nextInt(categories.length)]);
}
String[]类别=[0,1,2,3,4,5]

对于(inti=0;i我认为最简单的方法就是在需要生成随机值的地方使用

${__Random(0,6,)}
但是,如果您的需求更具体,您可以将代码重构为以下一行:

1.upto(50, { index ->  vars.put('pickValue' + index, org.apache.commons.lang3.RandomUtils.nextInt(0, 6) as String)})
更多信息:


谢谢@user7294900,我还有一个值,用作:Integer.valueOf(category1[0])+206.toString(),那么如何将该值增加206?thanks@vlatko606您可以从206开始使用数组,而不是0。在另一个场景中,我需要2个变量。1.从数组中生成(0-52。相同的值,加上206(206,207,208…),我试过了,但它不起作用。变量put(“pickID”+(I+1),categories[new Random().nextInt(categories.length)]+(+206));变量put(“pickValue”+(I+1),categories[new Random().nextInt(categories.length)]);@vlatko606你能用新的案例开始一个新的问题吗?@user7294900->