如何从Java运行JMeter以获取远程(distrubted)应用程序

时间:2017-05-24 04:23:54

标签: jmeter distributed

从GUI我们可以关注
运行 - >远程启动 - > (选择我们想要远程运行的ip)
从命令行我们也可以指定 -R 标志来运行远程jmeter应用程序。
但是我在这里使用 Java 创建 jmx 文件,我只想从 Java 运行这个文件。那么,有没有办法实现这个

2 个答案:

答案 0 :(得分:0)

您必须实现接口RemoteJMeterEngine。另外,请查看RemoteJMeterEngineImpl类以供参考。

如果您尝试通过Java在本地运行测试,那么实现起来应该不会复杂得多。

答案 1 :(得分:0)

您需要使用DistributedRunner类,如:

List<JMeterEngine> engines = new LinkedList<>();
Properties remoteProps = new Properties();
//set properties you want to send to remote clients here
DistributedRunner distributedRunner=new DistributedRunner(remoteProps);

List<String> hosts = new LinkedList<>();
//add your JMeter slaves here
hosts.add("remote_host_1");
hosts.add("remote_host_2");
distributedRunner.setStdout(System.out);
distributedRunner.setStdErr(System.err);
distributedRunner.init(hosts, testPlanTree);
engines.addAll(distributedRunner.getEngines());
distributedRunner.start();

例如,使用JMeter API从Java代码创建JMeter测试,请查看Five Ways To Launch a JMeter Test without Using the JMeter GUI指南。

还要记住JMeter是开源的,因此您可以直接在JMeter's source code中查找此功能或该功能的实现。