我正在使用编程方式运行在this post的第4步中定义的JMeter。 代码如下:
final StandardJMeterEngine jmeter = new StandardJMeterEngine();
JMeterUtils.setJMeterHome(getAbsolutePath("/jmeter"));
JMeterUtils.loadJMeterProperties(getAbsolutePath("/jmeter/bin/jmeter.properties"));
JMeterUtils.initLocale();
try {
SaveService.loadProperties();
final File jmeterConfig = new File(getAbsolutePath(pathToJmx));
final HashTree testPlanTree = SaveService.loadTree(jmeterConfig);
jmeter.configure(testPlanTree);
} catch (final IOException e) {
throw new JMeterConfigurationException(e);
}
jmeter.run();
我想提供我在${__P(parameter_name)}
文件中指定的.jmx
参数的值,可以在控制台中使用-J parameter来完成。
如何在上面的代码中传递此参数的值?
答案 0 :(得分:2)
鉴于您已使用JMeterUtils课程,您应该可以调用JMeterUtils.setProperty()功能,如:
JMeterUtils.setProperty("parameter_name","foo");
然后在您的脚本中使用__P() function作为${__P(parameter_name,)}
您还可以添加下一行:
parameter_name=foo
到 jmeter.properties 文件,您正在使用JMeterUtils.loadJMeterProperties
函数加载该文件。
不要忘记将ApacheJMeter_functions.jar添加到项目类路径,否则__P()
函数将无法解析。