在JMeter中,可以使用BeanShell或JSSR223 PreProcessor来生成8位不重复的随机数。以下是使用BeanShell PreProcessor的示例代码:
1添加一个 BeanShell 前置处理器到你想要生成随机数的 HTTP 请求下面。
2在 BeanShell 前置处理器的 "Script" 文本框中输入以下代码:
import java.util.Random;
import java.util.HashSet;
Random random = new Random();
HashSet<Integer> set = new HashSet<Integer>();
while (set.size() < 8) {
set.add(random.nextInt(100000000) + 10000000);
}
String randomString = "";
for (Integer i : set) {
randomString += i.toString();
}
vars.put("randomString", randomString);
该代码会使用 Java 的随机数生成器来生成 8 个不重复的 8 位数字。然后,它将这些数字拼接在一起形成一个 64 位的字符串,并将其存储在 JMeter 变量 ${randomString} 中。你可以在其他任何地方使用该变量来传输或展示这个随机数。
注意:由于该代码需要生成唯一的数字,因此在某些情况下可能会很慢,特别是当已经生成的随机数数量越来越多时。如果你需要更好的性能或更大的随机数范围,请根据需求修改代码。同时请注意,由于该代码使用了 while 循环,因此在某些情况下可能会陷入死循环,特别是当随机数范围比较小的时候。