我一直在使用JMeter,我知道__Random
和__RandomString
函数。我需要选择一个随机选项并将其存储在变量中,因为它将用作多个调用的参数路径的一部分。例如:
http://www.example.com/pets/{random option such as: cat, dog, parakeet}/
我尝试过像这样的简单操作,我使用带有用户定义变量的随机控制器将变量${query}
设置为one
,two
或three
。这似乎应该工作,但我始终将${query}
设置为three
。
任何见解或想法都会得到很好的回应。感谢所有提前。
答案 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)