JMeter将变量设置为随机选项

时间:2014-02-25 21:55:57

标签: jmeter

我一直在使用JMeter,我知道__Random__RandomString函数。我需要选择一个随机选项并将其存储在变量中,因为它将用作多个调用的参数路径的一部分。例如:

http://www.example.com/pets/{random option such as: cat, dog, parakeet}/

我尝试过像这样的简单操作,我使用带有用户定义变量的随机控制器将变量${query}设置为onetwothree 。这似乎应该工作,但我始终将${query}设置为three

任何见解或想法都会得到很好的回应。感谢所有提前。

4 个答案:

答案 0 :(得分:8)

您可以使用Beanshell Pre Processor生成随机值

    String[] query = new String[]{"cat", "dog", "parakeet"};
    Random random = new Random();
    int i = random.nextInt(query.length);
    vars.put("randomOption",query[i]);

之后在HTTP Request

http://www.example.com/pets/${randomOption}

作为String[] query = new String[]{"cat", "dog", "parakeet"};的替代方法,您可以使用Beanshell预定义的Parameters节。

    Random random = new Random();
    int i = random.nextInt(query.length);
    vars.put("randomOption",bsh.args[i]);

答案 1 :(得分:2)

看起来这本身并不是Jmeter的一个功能。我正在使用一个插件来实现这个目标。 http://jmeter-plugins.org/wiki/Functions/实现了一个新功能,允许您从字符串列表中选择随机字符串。来自他们的网站:

${__chooseRandom(red,green,blue,orange,violet,magenta,randomColor)}

答案 2 :(得分:2)

我知道这是一个旧帖子,并且有一个新功能:

__RandomFromMultipleVars(animalCat|animalDog|animalParakeet, query)

您需要定义变量:

animalCat=cat
animalDog=dog
animalParakeet=parakeet

答案 3 :(得分:0)

另见:

Get random values from an array

然而,这需要在预处理器中编写一些代码。