【发布时间】:2018-01-03 12:55:12
【问题描述】:
我正在创建一个 java 类,它将启动 Jmeter 引擎并运行 JMX 文件并在 .jtl 文件中给我结果。但是给定的 .jtl 文件只为我提供了以下数据
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,IdleTime,Connect 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 文件中的数据。
【问题讨论】: