当前位置: 首页 > 面试题库 >

如何通过Java编码生成Jmeter仪表板报告。(不是Windows或Shell命令)

景信瑞
2023-03-14
问题内容

我必须通过Java编码生成Jmeter仪表板报告。在Java代码下面,我曾用来生成普通的jmeter报告。我必须通过Java生成仪表板报告。

  public class JMeterFromExistingJMX {

    public static void main(String[] argv) throws Exception {
        // JMeter Engine
        StandardJMeterEngine jmeter = new StandardJMeterEngine();
        // Initialize Properties, logging, locale, etc.
        // JMeterUtils.loadJMeterProperties
        ("/path/to/your/jmeter/bin/jmeter.properties");
        JMeterUtils.setJMeterHome("/path/to/your/jmeter");
        JMeterUtils.initLogging();// log
        JMeterUtils.initLocale();
        // Initialize JMeter SaveService
        SaveService.loadProperties();
        // Load existing .jmx Test Plan
        FileInputStream in = new 
         FileInputStream
       ("/path/to/your/jmeter/extras/Test.jmx");
        HashTree testPlanTree = SaveService.loadTree(in);
        in.close();

        // Run JMeter Test
        jmeter.configure(testPlanTree);
        jmeter.run();
    }
    }

    }

问题答案:
  1. 首先,您需要在生成报告仪表板之前生成一个.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);
  1. 然后,您需要设置HTML Reporting Dashboard目标:
        JMeterUtils.setProperty(JMETER_REPORT_OUTPUT_DIR_PROPERTY, "/where/you/want/the/dashboard/to/be/generated");
  1. 最后,您可以像这样调用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测试的五种方法


 类似资料:
  • 问题内容: 我在Fedora上运行jmeter2.12。 生成仪表盘报告的步骤是什么? 问题答案: 脚步: 1.从侦听器中添加“摘要报告”,“简单数据编写器”。 2.将位置设置为生成的csv 3.从“ D:\ apache-jmeter-3.0 \ bin \”打开reportgenerator.properties,从中复制所有内容 4.从同一bin文件夹中打开user.properties 5

  • 我在运行jmeter2。戴着软呢帽。 生成仪表板报表的步骤是什么?

  • 最新版本的JMeter有一个生成报告仪表板的选项,这很棒,但我正在努力自定义它以满足我的需求。 我正在对每个新版本的应用程序进行性能测试。 让我们从我的报告的当前状态开始。我有一个名为- Version的用户定义变量。我会在每次新的性能测试中改变这一点。此外,还有时间戳作为第二种比较。-可以比较同一版本的先前结果。基本上是昨天的结果和今天的结果比较。 我使用灵活的文件写入器将结果保存到csv文件。

  • 在窗口中,使用命令“jmeter -n -t [测试 JMX 文件] -l [测试日志文件] -e -o ”来生成仪表板结果不会执行并显示错误。

  • 我是JMeter的新手,我正在尝试让JMeter为现有的测试脚本生成html报告仪表板。我在处理过程中没有收到任何异常,并且日志指示生成报告时没有问题: 但是,当我查看生成的索引.html文件时,没有数据: 结果.csv文件不为空: 我的报告生成器和保存服务配置是: 我试图搜索类似的问题(在这里和其他地方),但我找不到任何解决这种情况的东西。结果正在以我期望的格式写入CSV文件并填充,但是在读取数

  • 我正在运行JMeter非GUI模式并生成仪表板,它正在工作, 下一步,我想将UUID添加到每个采样器,以便更轻松地在日志中找到我的请求 因此,采样器名称是:Login${uuid}、operation1${uuid}……而uuid变量之前已设置。 在GUI模式下,它有助于更快、更容易地发现问题。 当我执行非 GUI 模式时 基本上(我做了一个简短的测试),它分别为每个登录(和操作)创建一个报告,如

  • 示例:一个线程组:线程组的步骤:统计信息

  • 本文向大家介绍jmeter如何自动生成测试报告,包括了jmeter如何自动生成测试报告的使用技巧和注意事项,需要的朋友参考一下 1、准备.jmx脚本文件 2、在脚本文件路径下执行cmd命令: 参数解析:   ● -n: 非GUI模式执行JMeter   ● -t: 执行测试文件所在的位置   ● -l: 指定生成测试结果的保存文件,.jtl文件格式   ● -e: 测试结束后,生成测试报告   ●