java - 如何使用java在jmeter api中添加testPlan或线程组所需的监听器?

标签 java jmeter jmeter-plugins jmeter-3.2 jmeter-maven-plugin

我已经从 Apache Jmeter API 创建了 Jmeter 脚本。但是,无法理解如何使用 java 在 jmeter api 中添加 testPlan 或线程组所需的监听器?

请帮帮我

最佳答案

根本就不要。当您开发或调试测试时,监听器非常有用,当涉及到测试执行时,您所需要做的就是生成 .jtl 结果文件。

监听器不会增加任何值(value),当您在非 GUI 模式(即从 Java 代码)运行负载测试时,它们只会在内存使用和增加磁盘 IO 方面产生资源开销。有关更多详细信息,请参阅 Greedy Listeners - Memory Leeches of Performance Testing 文章。

因此,无需添加监听器,只需修改 Java 代码,将 JMeter 测试结果存储到 .jtl 文件中,测试完成后,您将能够使用您选择的监听器打开此 .jtl 结果文件,或从其中生成 HTML Reporting Dashboard它。

如果您不确定如何从 Java 代码生成 .jtl 结果文件,这里有一个片段:

Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
    summer = new Summariser(summariserName);
}


String logFile = "/path/to/test/result.jtl"
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
testPlanTree.add(testPlanTree.getArray()[0], logger);

如果您需要修改结果文件配置以存储一些额外的数据或不存储您不需要的指标 - 您可以通过 relevant JMeter Properties 来完成

关于java - 如何使用java在jmeter api中添加testPlan或线程组所需的监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399887/

相关文章:

java - 将集合转换为 json 时如何摆脱 mongo ID

java - 从 tilemap 高效地生成 Box2D body(collision map)

java - JMeter - 在 HTTPSampler 中以编程方式添加自定义 HTTP header

java - 我如何从本地主机将我的 servlet 部署到真正的公共(public)服务器(eatj)

java - 可调用和泛型的集合

jmeter - 如何在jmeter中将子样本结果更改为成功?

java - JMeter负载测试: ClassNotFoundException: com. blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup

jmeter - 如何将jmeter测试结果发送给datadog?

jmeter - 如何在Jmeter的摘要报告中显示延迟信息

jmeter - JMeter 如何跨多个线程组运行一条记录?