我正在创建一个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文件中。
答案 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