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