【发布时间】:2017-09-26 14:55:30
【问题描述】:
我正在尝试使用
从 Java 代码执行 JMeter 脚本String jmeterHome = "D:/tmp/apache-jmeter-3.3";
StandardJMeterEngine jmeter = new StandardJMeterEngine();
JMeterUtils.loadJMeterProperties(jmeterHome + "/jmeter.properties");
JMeterUtils.setJMeterHome(jmeterHome);
JMeterUtils.initLocale();
SaveService.loadProperties();
File script = new File(jmeterHome + "/http_localhost.jmx");
HashTree testPlanTree = SaveService.loadTree(script);
Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
String logFile = jmeterHome + "/file.jtl";
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
testPlanTree.add(testPlanTree.getArray()[0], logger);
jmeter.configure(testPlanTree);
jmeter.run();
在“线程组”配置的 JMeter GUI 中,我将“线程数”设置为“${__P(xxx,20)}”。它在 GUI 上运行良好——我可以执行默认值为“20”的脚本。但是上面的代码并没有启动任何线程。 Java 代码显示它正在尝试启动零线程。
我见过Jmeter functions don't executing when calling from java code,我的项目中确实有以下依赖项
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_http</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>3.3</version>
</dependency>
【问题讨论】:
-
应用程序的 jar 中是否包含依赖项?或者你是如何运行它的?
-
我正在使用 maven 运行它,我发现 JMeter 希望在类路径中有一个库,其确切名称为“ApacheJMeter_functions.jar”,它甚至不能是“ApacheJMeter_functions-3.3.jar”如果文件是二进制相等
标签: java jmeter performance-testing