通过Java独立应用程序运行JMeter测试用例,而无需在本地安装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();
}
重新分配https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-
jmeter-gui
问题答案:
您实际上不需要在您设置的此主目录中进行完整的JMeter安装。仅属性文件就足够了。在JMeter主目录(或子目录)中,您可以放置任何其他属性文件,例如saveservice.properties,user.properties等。这些通常由jmeter.property文件内的相对路径引用。这就是为什么您需要主目录的原因…
因此,从Java运行测试计划不需要本地安装。您只需要存在属性文件。通过设置JMeterHome,您只需告诉JMeter在哪里可以找到jmeter.properties文件中指定的其他属性文件。
对于一个正在运行的项目,我建议您调查一下:
https://bitbucket.org/blazemeter/jmeter-from-
code/
希望这可以帮助。