Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jmeter 线程的Beanshell值不是随机的_Jmeter_Beanshell - Fatal编程技术网

Jmeter 线程的Beanshell值不是随机的

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

我在尝试随机化一些值时遇到了问题。在本例中,我使用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预处理器,它工作得很好。