Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java为JMeterAPI中的testPlan或线程组添加所需的侦听器?_Java_Jmeter_Jmeter Plugins_Jmeter 3.2_Jmeter Maven Plugin - Fatal编程技术网

如何使用java为JMeterAPI中的testPlan或线程组添加所需的侦听器?

如何使用java为JMeterAPI中的testPlan或线程组添加所需的侦听器?,java,jmeter,jmeter-plugins,jmeter-3.2,jmeter-maven-plugin,Java,Jmeter,Jmeter Plugins,Jmeter 3.2,Jmeter Maven Plugin,我已经从ApacheJMeterAPI创建了Jmeter脚本。但是,无法理解如何使用java为JMeterAPI中的testPlan或线程组添加所需的侦听器 请帮帮我,别这样。当您开发或调试测试时,侦听器非常有用,当涉及到测试执行时,您需要做的就是生成一个.jtl结果文件 侦听器不会添加任何值,当您在非GUI模式下运行负载测试时(即从Java代码),它们只会在内存使用和磁盘IO增加方面产生资源开销。有关更多详细信息,请参阅文章 因此,不需要添加监听器,只需修改Java代码,将存储JMeter测试

我已经从ApacheJMeterAPI创建了Jmeter脚本。但是,无法理解如何使用java为JMeterAPI中的testPlan或线程组添加所需的侦听器


请帮帮我,别这样。当您开发或调试测试时,侦听器非常有用,当涉及到测试执行时,您需要做的就是生成一个.jtl结果文件

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

因此,不需要添加监听器,只需修改Java代码,将存储JMeter测试结果添加到.jtl文件中,测试完成后,您就可以使用您选择的监听器打开这个.jtl结果文件或从中生成

如果您不确定如何从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);

如果您需要修改结果文件配置以存储一些额外的数据或不存储您不想要的度量,您可以通过非常有用的回答来完成。很明显,添加侦听器在性能方面是应用程序杀手,但这是获得结果的唯一方法吗?我是说,如果我想在测试结束时调查结果呢?这是保存jtl文件的唯一有效方法,只需再次打开它并解析它以及由此带来的所有问题。。。。我看不到从API中的任何结果类收集结果的任何明显方式。