随机变量逻辑

时间:2015-10-06 06:41:21

标签: variables random logic jmeter

我想通过JMeter测试具有随机变量逻辑的应用程序。这是投票申请。

Flow:250个用户的登录投票 - ReVoting-Logout

问题:我必须在3名成员中投票1人,我必须再次投票给另一个人。我已经在用户定义的变量中定义了投票成员id,所以首先我使用bean shell代码进行第一次投票。这是代码。(Beanshell1)

import java.util.Random;

String[] categories = (vars.get("categories")).split(",");

int idx = new Random().nextInt(categories.length);
String category = (categories[idx]);

vars.put("rnd_cat",category);

对于重新投票,我想排除以前的投票成员ID,所以我使用了以下代码(Beanshell2)

while(category==rnd_cat)
{
     String[] categories = (vars.get("categories")).split(",");

     int idx2 = new Random().nextInt(categories.length);
     category = (categories[idx2]);
}

但我在回复中无效。

1 个答案:

答案 0 :(得分:0)

Beanshell对rnd_cat的内容一无所知。通过==运算符比较字符串也不是一个好主意。修改您的“Beanshell2”如下:

while(category.equals(vars.get("rnd_cat"))
{
     String[] categories = (vars.get("categories")).split(",");

     int idx2 = new Random().nextInt(categories.length);
     String category = (categories[idx2]);
}

考虑切换到JSR223 Test Elementsgroovy语言,因为强烈建议在JMeter中编写脚本的方法,正如Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!文章所证明的那样。

另一个不需要编写脚本的好选项是通过__chooseRandom()提供的JMeter Plugins功能

相关问题