我们如何从jMeter中的选定值传递随机值?

时间:2014-11-26 08:09:05

标签: random jmeter performance-testing

我想将一些参数传递给我的请求体。我不想发送随机字符串。但我需要传递选定值的随机值。防爆;我有5个值,比如value1,value2,value3,value4,value5。我需要在这五个值中传递随机值。我怎样才能做到这一点?有任何建议请

2 个答案:

答案 0 :(得分:3)

简单方法

您可以通过chooseRandom

使用JMeter Plugins功能

艰难的方式

使用Beanshell PreProcessor获取随机值,如下所示:

  1. 添加Beanshell PreProcessor作为请求的子项,您需要随机化哪个参数
  2. 将您的value1,value2,value3,value4,value5放入预处理器"参数"输入
  3. 将以下代码放入预处理器"脚本"区域

    String[] params = Parameters.split(",");
    Random random = new Random();
    String randomValue = params[random.nextInt(params.length)];
    vars.put("randomValue", randomValue);
    
  4. 在需要时将生成的值称为${randomValue}
  5. 请参阅

    的以下参考信息
    1. 简单方法:Installing JMeter Plugins
    2. 艰难的方式:How to use BeanShell: JMeter's favorite built-in component

答案 1 :(得分:0)

假设您有一个变量foo,它可以是a bc,并且您希望采样器从该集合中选择一个随机值。

创建用户定义的变量foo1 = a foo2 = b foo3 = c

然后,在您的http请求默认值中使用以下内容:

${__RandomFromMultipleVars(foo1|foo2|foo3)}

和voila统一随机选择,无需脚本或插件

编辑:如果您使用JavaScript,请考虑以下一种做法: ${__javaScript(Array("a"\, "b"\, "c")[Math.floor(Math.random()*3)])} ^^创建一个由三个元素组成的数组,并从内部返回一个随机元素。没有变量,没有问题:)