从分布式测试JMeter java代码收集结果
我试图在java中使用JMeter创建分布式测试(没有GUI,没有命令行) 在我的代码中,我使用:从分布式测试JMeter java代码收集结果,java,jmeter,Java,Jmeter,我试图在java中使用JMeter创建分布式测试(没有GUI,没有命令行) 在我的代码中,我使用: List<String> addresses = Arrays.asList("address1","address2"); HashTree tree = new HashTree(); DistributedRunner dRunner = new DistributedRunner(); dRunner.
List<String> addresses = Arrays.asList("address1","address2");
HashTree tree = new HashTree();
DistributedRunner dRunner = new DistributedRunner();
dRunner.init(addresses,tree);
dRunner.start();
List addresses=Arrays.asList(“address1”、“address2”);
HashTree-tree=新的HashTree();
DistributedRunner dRunner=新DistributedRunner();
init(地址,树);
dRunner.start();
服务器实例已经设置好(侦听address1等)。但是,我找不到一种从服务器实例收集结果的最佳方法。有没有办法做到这一点?通常,主/从设备具有双向通信,但这似乎是主设备向从设备发送执行测试的命令,但从设备不向主设备返回结果
实现这一目标的正确方法是什么
谢谢 你在跑什么?空的?如果是这种情况,你不应该得到任何结果
如果后面有一些初始化代码,您需要使用此代码更新您的问题,因为它应该足以定义,并且您的主计算机将从从属计算机收集结果
示例代码段,放在dRunner.init(地址,树)之前代码>行:
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);
tree.add(testPlanTree.getArray()[0], logger);
这将相当于通过提供结果文件位置,否则测试将启动,但结果将不起作用
更多信息和有用的代码片段:
- 回购
感谢您的回答,所以解决方案是在从机中定义带有结果的jtl文件,并让主机使用ResultCollector收集它?我假设每个从机上的“path/to/result.jtl”必须相同?在您的示例中,testPlanTree是什么?谢谢