Jmeter - java编码。如何获得输出数据?

时间:2014-05-23 09:53:00

标签: java apache maven jenkins jmeter

我尝试使用Jmeter开源+ java来模拟压力测试并从Jenkins运行它们。该项目是由Maven构建的,所以我没有Jenkins的问题。但是在将请求发送到服务器后我无法捕获输出信息。

 public void runTest( String url,String user,int URLnumber) {
    StandardJMeterEngine jm = new StandardJMeterEngine();
    // jmeter.properties
    JMeterUtils.loadJMeterProperties("./jmeter.properties");

    HashTree hashTree = new HashTree();

    // HTTP Sampler
    HTTPSampler httpSampler = new HTTPSampler();
    httpSampler.setDomain(url);
    //httpSampler.setPort(80);
    httpSampler.setPath("/");
    httpSampler.setMethod("POST");
    httpSampler.addArgument("post_id","51015");
    httpSampler.addArgument("variant","");

    // Loop Controller
    TestElement loopCtrl = new LoopController();
    ((LoopController)loopCtrl).setLoops(1);
    ((LoopController)loopCtrl).addTestElement(httpSampler);
    ((LoopController)loopCtrl).setFirst(true);

    // Thread Group
    SetupThreadGroup threadGroup = new SetupThreadGroup();
    threadGroup.setNumThreads(25);
    threadGroup.setRampUp(5);
    threadGroup.setSamplerController((LoopController)loopCtrl);

    org.apache.jmeter.reporters.Summariser summariser = new Summariser();

    // Test plan
    TestPlan testPlan = new TestPlan("MY TEST PLAN");

    hashTree.add("testPlan", testPlan);
    hashTree.add("loopCtrl", loopCtrl);
    hashTree.add("threadGroup", threadGroup);
    hashTree.add("httpSampler", httpSampler);

    jm.configure(hashTree);

    jm.run();
}

可能有人知道如何在没有编码的情况下通过Jenkins配置Jmeter,并在Jenkins控制台中获取结果。但我认为这是不可能的。

2 个答案:

答案 0 :(得分:1)

您是否看到Jenkins Performance Plugin支持JMeter?

如果由于任何原因它不合适,Jenkins可以至少执行以下目标:

  1. Shell脚本
  2. Ant任务
  3. Maven个人资料
  4. JMeter可以通过上述所有方法启动,而无需编写单行Java代码。有关详细信息,请参阅5 Ways To Launch a JMeter Test without Using the JMeter GUI

答案 1 :(得分:0)

默认情况下,jmeter测试运行期间的控制台输出被抑制。

我建议您查看下面的jenkins配置链接。

希望这会有所帮助。