Jmeter 线程的Beanshell值不是随机的
我在尝试随机化一些值时遇到了问题。在本例中,我使用Random从字符串列表中选择一个标题Jmeter 线程的Beanshell值不是随机的,jmeter,beanshell,Jmeter,Beanshell,我在尝试随机化一些值时遇到了问题。在本例中,我使用Random从字符串列表中选择一个标题 import java.util.Random; titles = "Mr,Mrs,Sir,Ms,Dr"; String[] titles = titles.split(","); Random random = new Random(); String randomValue = titles[random.nextInt(titles.length)]; vars.put("TITLE", random
import java.util.Random;
titles = "Mr,Mrs,Sir,Ms,Dr";
String[] titles = titles.split(",");
Random random = new Random();
String randomValue = titles[random.nextInt(titles.length)];
vars.put("TITLE", randomValue);
上述方法对于线程的单次运行很好,但如果您正在循环,那么它将停止生成新值。如果我运行多个线程,那么它会生成不同的值。我的期望是,您的Beanshell脚本可能会在某个地方失败,很可能您在尝试通过某种更改其类型的内容覆盖
标题
变量值时遇到了错误
您可以将代码修改为:
import java.util.Random;
titles = "Mr,Mrs,Sir,Ms,Dr";
String[] titles2 = titles.split(",");
Random random = new Random();
String randomValue = titles2[random.nextInt(titles2.length)];
vars.put("TITLE", randomValue);
它应该能解决你的问题
更好的解决方案是迁移到,因为Groovy比Beanshell具有更好的性能,因此您应该能够重用现有代码 添加实际和预期结果谢谢。我最终使用了JSR223预处理器,它工作得很好。