Select JMeter中的随机拆分变量

Select random split variable in JMeter

在记录测试时,当我 select 一个复选框时,它 returns 'On' 作为值。我已经在 J​​Meter 中制定了测试计划,现在我需要根据每个请求随机将此字段的值设置为 On 或 OFF。

我可以使用 Beanshell 脚本 + Split 或 Random 函数来实现吗?

您可以使用 __RandomFromMultipleVars 函数在值之间随机选择

The RandomFromMultipleVars function returns a random value based on the variable values provided by Source Variables

如果你把 ON 和 OFF 放在变量中,例如在 onoff JMeter 变量中,然后你可以使用:

${__RandomFromMultipleVars(on|off, rnd)}

它将随机值保存在rnd变量(第二个参数)中,以后可以用作${rnd}

获得相同结果的另一种选择是添加以下 JMeter 变量:

a_matchNr = 2
a_1 = on
a_2 = off

然后使用带有JMeter变量前缀的函数a:

${__RandomFromMultipleVars(a, rnd)}

Starting from JMeter version 3.1 users are encouraged to switch to Groovy from Beanshell mainly because Groovy has much better performance comparing to other scripting options

所以您可以使用 __groovy() function 来做到这一点,例如:

${__groovy(['On'\,'OFF'][new Random().nextInt(2)],)}

演示:

经过多次运行终于搞定了,我们可以写成- ${__RandomFromMultipleVars{__split(${String1},value,|)},记得我)}。现在,即使字符串在拆分后会生成 100 个值,这些值也会传递给仅接受变量值的 __RandomFromMultipleVars。