- 首先,您需要在生成报告仪表板之前生成一个.jtl结果文件,因此请确保将以下代码块添加到您的函数中:
Summariser summer = null; String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary"); if (summariserName.length() > 0) { summer = new Summariser(summariserName); } String logFile = "/path/to/result.jtl"; ResultCollector logger = new ResultCollector(summer); logger.setFilename(logFile); testPlanTree.add(testPlanTree.getArray()[0], logger);
- 然后,您需要设置HTML Reporting Dashboard目标:
JMeterUtils.setProperty(JMETER_REPORT_OUTPUT_DIR_PROPERTY, "/where/you/want/the/dashboard/to/be/generated");
- 最后,您可以像这样调用ReportGenerator类:
ReportGenerator generator = new ReportGenerator(logFile,null); generator.generate();
完整的代码,以防万一:
import org.apache.jmeter.engine.StandardJMeterEngine; import org.apache.jmeter.report.dashboard.ReportGenerator; import org.apache.jmeter.reporters.ResultCollector; import org.apache.jmeter.reporters.Summariser; import org.apache.jmeter.save.SaveService; import org.apache.jmeter.util.JMeterUtils; import org.apache.jorphan.collections.HashTree; import java.io.File; import static org.apache.jmeter.JMeter.JMETER_REPORT_OUTPUT_DIR_PROPERTY; public class RunJMeterTest { public static void main(String[] args) throws Exception { StandardJMeterEngine jmeter = new StandardJMeterEngine(); JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties"); JMeterUtils.setJMeterHome("/path/to/your/jmeter"); JMeterUtils.initLocale(); SaveService.loadProperties(); HashTree testPlanTree = SaveService.loadTree(new File("/path/to/your/jmeter/bin/test.jmx")); Summariser summer = null; String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary"); if (summariserName.length() > 0) { summer = new Summariser(summariserName); } String logFile = "/path/to/your/jmeter/bin/result.jtl"; ResultCollector logger = new ResultCollector(summer); logger.setFilename(logFile); testPlanTree.add(testPlanTree.getArray()[0], logger); jmeter.configure(testPlanTree); jmeter.run(); JMeterUtils.setProperty(JMETER_REPORT_OUTPUT_DIR_PROPERTY, "/path/to/dashboard"); ReportGenerator generator = new ReportGenerator(logFile, null); generator.generate(); } }
参考文献:
- 生成报告仪表板
- 在不使用JMeter GUI的情况下启动JMeter测试的五种方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)