收集来自分布式测试JMeter Java代码的结果

时间:2020-10-14 10:54:47

标签: java jmeter

我正在尝试使用Java中的JMeter创建分布式测试(无GUI,无命令行)

在我的代码中,我使用:

    List<String> addresses = Arrays.asList("address1","address2");
    HashTree tree = new HashTree();

    DistributedRunner dRunner = new DistributedRunner();

    dRunner.init(addresses,tree);
    dRunner.start();

服务器实例已设置(侦听address1等)。但是我找不到如何从服务器实例收集结果的最佳方法。有办法吗?通常,主机/从机之间是双向通信,但这似乎是主机向从机发送命令以执行测试,但是从机不会将结果返回给主机。

实现此目标的正确方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在运行什么test plan?空吗如果是这种情况,您将不会获得任何结果。

如果后面有一些初始化代码,则您需要用此代码更新问题,因为它足以定义.jtl result file,并且您的主计算机将从从属计算机收集结果。

示例片段,将其放在dRunner.init(addresses,tree);行之前:

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);

这等同于通过-t command-line argument提供结果文件的位置,否则将开始测试,但结果将无处可寻

更多信息和有用的代码段: