在.jtl文件中获取jmeter Summariser数据

时间:2018-01-03 12:55:12

标签: java jmeter jmx

我正在创建一个java类,它将启动Jmeter Engine并运行JMX文件并将结果输入.jtl文件。但是给定的.jtl文件只提供以下数据

的timeStamp,过去时,标签,responseCode,responseMessage,threadName,数据类型的成功,failureMessage,字节,sentBytes,grpThreads,allThreads,IDLETIME,连接 1514980442998,2688,test,200,OK,test 1-1,text,true ,, 136171,125,1,1,0,1561

但我也想要Avg,max,min,error%。这些是由Summariser类提供的,但仅在控制台中提供,但我希望将相同的内容添加到我的.jtl文件中。

以下是我的课程

 public class ResultExtractor {


    public static void main(String[] args) {



        StandardJMeterEngine jmeter = new StandardJMeterEngine();

        System.out.println("::>>>>>>>>>>>>JMETER engine intialized");
        JMeterUtils.loadJMeterProperties("./jmeter_project_data/apache-jmeter-3.3/bin/jmeter.properties");
        JMeterUtils.setJMeterHome("./jmeter_project_data/apache-jmeter-3.3");
        JMeterUtils.initLogging();
        JMeterUtils.initLocale();
        try {
            SaveService.loadProperties();

        } catch (IOException e) {
            e.printStackTrace();
        }

        File in=new File("./jmeter_project_data/JMXtestdata/test.jmx");
        System.out.println("::>>>>>>>>>>>>JMX file is passed");     
        HashTree testPlanTree =null;
        try {
         testPlanTree = SaveService.loadTree(in);
            } 
        catch (IOException e) 
            {
         e.printStackTrace();
            }
        jmeter.configure(testPlanTree);
        System.out.println("::>>>>>>>>>>>>Confgurd test in jmeter");
        Summariser summer = null;
        String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");//$NON-NLS-1$
        if (summariserName.length() > 0) {
            summer = new Summariser(summariserName);
        }

        String logFile = "./jmeter_project_data/Result/jmeterresult.jtl";
        ResultCollector logger = new ResultCollector(summer);
        logger.setFilename(logFile);
        testPlanTree.add(testPlanTree.getArray()[0], logger);

        System.out.println("::>>>>>>>>>>>> Test Started");
        jmeter.run();
        System.out.println("::>>>>>>>>>>>> Test Finished");

    }

}

请帮我把数据放到jtl文件中。

1 个答案:

答案 0 :(得分:0)

我不建议在.jtl结果文件中添加任何内容,因为它假设某些结构,如果你追加某些东西" alien"您无法使用Listeners进行分析或生成HTML Reporting Dashboard

我建议配置JMeter将Summariser输出存储到 jmeter.log 文件中,它可以通过以下JMeter属性控制:

summariser.log=true

您也可以控制将消息打印到STDOUT / jmeter.log文件的频率:

summariser.interval=30

更多信息:Top 2 Techniques to Get JMeter Test Results in non-GUI mode