我programmaticaly在java代码中生成我的jmeter测试计划。
HashTree threadGroupHashTree = testPlanTree.add(testPlan, threadGroup);
threadGroupHashTree.add(loopController);
HashTree threadGroupHashTree;
String employeeId = "1";
HTTPSamplerProxy hs = HttpSampler.createHttpSampler(data, "http://test.de/employee/" + employeeId, "GET", "");
threadGroupHashTree.add(hs);
然后我开始这个测试计划:
StandardJMeterEngine jmeter = setupJMeter(threadGroupHashTree);
jmeter.configure(threadGroupHashTree);
jmeter.run();
这是有效的。现在我需要发送不同employeeId(随机)的请求。在JMeter GUI中,我们可以使用随机函数来随机化我们的测试。
提供JMeter API这样的功能?我们如何随机化我们的请求?或者我们必须用for循环替换LoopController?
答案 0 :(得分:0)
您可以使用JMeter的__Random() function,通常如下:
String employeeId = "${__Random(1,999,)}"
确保在项目类路径中有ApacheJMeter_functions JAR
您可以使用RandomUtils类
String employeeId = String.valueOf(org.apache.commons.lang3.RandomUtils.nextInt(1,1000));
您可以使用ThreadLocalRandom类
String employeeId = String.valueOf(java.util.concurrent.ThreadLocalRandom.current().nextInt(1,1000));
每次调用时,任何方法都会返回一个随机数。
请参阅Five Ways To Launch a JMeter Test without Using the JMeter GUI文章和jmeter-from-code示例项目,详细了解如何以编程方式创建JMeter测试。