通过Java独立应用程序运行JMeter测试用例,而无需在本地安装JMeter。

时间:2017-11-10 05:00:40

标签: java testing jmeter

我正在尝试使用以下命令执行JMeter测试用例。在没有在本地安装JMeter的情况下,我是否有另一种方法来执行测试用例?在这里,我必须为JMeterUtils提供JMeter HOME路径。

    // JMeter Engine
    StandardJMeterEngine jmeter = new StandardJMeterEngine();

    // Initialize Properties, logging, locale, etc.
    JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties");
    JMeterUtils.setJMeterHome("/path/to/your/jmeter");
    JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
    JMeterUtils.initLocale();

    // Initialize JMeter SaveService
    SaveService.loadProperties();

    // Load existing .jmx Test Plan
    FileInputStream in = new FileInputStream("/path/to/your/jmeter/extras/Test.jmx");
    HashTree testPlanTree = SaveService.loadTree(in);
    in.close();

    // Run JMeter Test
    jmeter.configure(testPlanTree);
    jmeter.run();
}

resorce https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui

2 个答案:

答案 0 :(得分:1)

您实际上不需要在您设置的主目录中安装完整的JMeter。只是属性文件就足够了。在JMeter主目录(或子目录)中,您可以放置​​任何其他属性文件,如saveservice.properties,user.properties等。这些通常由jmeter.property文件中的相对路径引用。这就是为什么你需要一个主目录......

因此,从java运行测试计划不需要本地安装。您只需要存在属性文件。通过设置JMeterHome,您只需告诉JMeter在哪里查找jmeter.properties文件中指定的其他属性文件。

对于一个工作项目,我建议调查一下:

https://bitbucket.org/blazemeter/jmeter-from-code/

希望这有帮助。

答案 1 :(得分:0)

最好包括多个用户是否将在其本地系统上运行此应用程序。我使用了类似的方法

String JmeterPropertiesFilePath = System.getProperty("user.dir").toString()
        + "/folder/apache-jmeter-5.0/bin/jmeter.properties";
String JmeterHomePath = System.getProperty("user.dir").toString()
        + "/folder/apache-jmeter-5.0/";