Java Jmeter加权随机值?

Java Jmeter加权随机值?,java,testing,jmeter,Java,Testing,Jmeter,如何根据随机权重运行测试/控制器?例如,有两个测试,一个权重为25%,另一个权重为50%。50岁的人应该跑两次 也许吞吐量控制器以某种方式混合了随机数?对于这种情况,最好使用两个线程组。 设置第一个以生成比第二个多的请求 另外,您可以使用吞吐量成形计时器来控制每个组中的速率。我认为您可以使用吞吐量控制器,其配置方式如下: 吞吐量值是预先设置的,可以从配置属性中设置,也可以在可接受的值范围内生成(在本例中为0..100)。对于一些简单的权重,您可以使用交换机控制器默认为第一个子项这一事实。例如5

如何根据随机权重运行测试/控制器?例如,有两个测试,一个权重为25%,另一个权重为50%。50岁的人应该跑两次


也许吞吐量控制器以某种方式混合了随机数?

对于这种情况,最好使用两个线程组。 设置第一个以生成比第二个多的请求


另外,您可以使用吞吐量成形计时器来控制每个组中的速率。

我认为您可以使用吞吐量控制器,其配置方式如下:


吞吐量值是预先设置的,可以从配置属性中设置,也可以在可接受的值范围内生成(在本例中为0..100)。

对于一些简单的权重,您可以使用交换机控制器默认为第一个子项这一事实。例如50%25%25%喜欢这样

Switch Controller - ${__Random(0,3)}
 - Child 0 (and 3)
 - Child 1
 - Child 2

通过将任务分组到随机和简单的控制器中作为子级,您可以更进一步

我通过创建具有以下开关值的开关控制器来实现这一点:

${__javaScript( var s="001"; new Number(s.charAt( Math.floor(Math.random()*s.length) )) )}
javascript从字符串
s
中选择一个随机字符,并将其转换为数字。因此,在上面的示例中,选择0的频率是选择1的两倍,可以通过从字符串中添加/删除字符来更改权重

我使用字符串而不是数组是因为我的JMeter版本使用的javascript版本似乎不支持数组文本,所以这使它不那么冗长