我正在执行一个 JMX 文件并尝试为其创建一个 HTML 仪表板报告,但只创建 .jtl 文件,没有创建 HTML 仪表板文件。我收到错误:org.apache.jmeter.report.dashboard。 GenerationException:类名“org.apache.jmeter.report.dashboard.JsonExporter”无效。我试过下面的代码:
public static void generateReport(String reportName,ExtentTest testReporter) {
try {
JMeterUtils.setProperty("jmeter.reportgenerator.exporter.html.property.output_dir", reportDirectory + reportName);
JMeterUtils.setProperty("org.apache.jmeter.JMeter.JMETER_REPORT_OUTPUT_DIR_PROPERTY", reportDirectory + reportName+"Test");
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
File report = new File(reportDirectory + reportName + "_JTL_Results");
File reportFile = new File(reportDirectory + reportName + "_JTL_Results" + "\\result.jtl");
if (report.exists()) {
flushDirectory(report);
LOG.info("Report folder deleted");
if (reportFile.exists()) {
boolean delete1 = reportFile.delete();
LOG.info("Report File deleted" + delete1);
}
}
ResultCollector logger = new ResultCollector(summer);
reportGenerator = new ReportGenerator(reportFile.getPath(), logger);
logger.setFilename(reportFile.getPath());
testplanTree.add(testplanTree.getArray()[0], logger);
jMeterEngine.configure(testplanTree);
print_util.ts_info(testReporter, "Performance Execution Started..........");
print_util.ts_passed(testReporter, "Performance Execution Started..........");
jMeterEngine.run();
reportGenerator.generate();
print_util.ts_info(testReporter, "Report Generated Successfully");
print_util.ts_passed(testReporter, "Report Generated Successfully");
System.exit(0);
} catch (Exception e) {
print_util.ts_info(testReporter, e.toString());
print_util.ts_failed_ss(testReporter,
"Report is not generated", VNSPPage.driver);
org.testng.Assert.fail("Report is not generated");
System.exit(1);
}
}