Jmeter:带有beanshell的随机数

0 jmeter beanshell

我想在 post 请求中添加两种参数。

从 http 请求中我提取了 2 个变量列表:

Order_id = input type="hidden" name="(drag.+?)" value="(\d+?)"

Weight_id = class="draggableviews-weight form-select" id=".+?" name="(drag.+?)"
Run Code Online (Sandbox Code Playgroud)

在接下来的发布请求中,我需要重新发布所有这些变量。BeanShell PreProcessor我为此使用 a 。第一个列表没有问题,因为它得到相同的值。第二个列表应该获得 -50 到 50 之间的新随机值。我还希望每次迭代都有不同的随机值。

我该怎么做?

图片1 图片2 图3

如果我使用随机变量配置元素,我会为每个变量获得相同的随机整数。我希望每次迭代都有一个不同的。

在此输入图像描述

Dmi*_*i T 5

我建议使用ThreadLocalRandom.nextInt()方法,例如

sampler.addArgument(name2, String.valueOf(java.util.concurrent.ThreadLocalRandom.current().nextInt(-50, 51)));
Run Code Online (Sandbox Code Playgroud)

不要将JMeter 函数内联到 Beanshell 脚本中,或者通过“参数”部分传递它们并通过Parametersargs简写引用,或者使用适当的基于代码的替换。

有关 JMeter 测试中 Beanshell 脚本的更多信息,请参阅如何使用 BeanShell:JMeter 最喜欢的内置组件指南。