java中的随机数生成了JMeter testplan

时间:2018-03-05 07:59:15

标签: jmeter

我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?

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用JMeter的__Random() function,通常如下:

    String employeeId = "${__Random(1,999,)}"
    

    确保在项目类路径中有ApacheJMeter_functions JAR

  2. 您可以使用RandomUtils

    String employeeId = String.valueOf(org.apache.commons.lang3.RandomUtils.nextInt(1,1000));
    
  3. 您可以使用ThreadLocalRandom

    String employeeId = String.valueOf(java.util.concurrent.ThreadLocalRandom.current().nextInt(1,1000));
    
  4. 每次调用时,任何方法都会返回一个随机数。

    请参阅Five Ways To Launch a JMeter Test without Using the JMeter GUI文章和jmeter-from-code示例项目,详细了解如何以编程方式创建JMeter测试。