Jmeter - 加权随机值?

时间:2011-03-30 04:31:39

标签: java testing jmeter

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

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

4 个答案:

答案 0 :(得分:5)

我认为您可以使用以下配置的吞吐量控制器:

Throughput Controller

吞吐量值是从配置属性预设的,或者是在可接受的值范围内生成的(在这种情况下为0..100)。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

在这种情况下,最好使用2个线程组。 首先设置以产生比第二个更多的请求。

PS。您可以使用吞吐量整形计时器来控制每组中的速率。

答案 3 :(得分:0)

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

${__javaScript( var s="001"; new Number(s.charAt( Math.floor(Math.random()*s.length) )) )}

javascript从字符串s中选择一个随机字符并将其转换为数字。因此,在上面的示例中,0的选择频率是1的两倍,并且可以通过在字符串中添加/删除字符来更改权重。

我使用的是String而不是数组,因为我的JMeter版本使用的javascript版本似乎不支持数组文字,所以这样做了一些不那么冗长。