以编程方式将-J参数传递给JMeter

时间:2018-05-17 14:05:56

标签: jmeter

我正在使用编程方式运行在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来完成。

如何在上面的代码中传递此参数的值?

1 个答案:

答案 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()函数将无法解析。

更多信息:Apache JMeter Properties Customization Guide