如何通过java传递JMeter属性

时间:2016-05-13 13:44:47

标签: java jmeter

我正在尝试通过java运行jmeter。 https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui

中的示例

我上传了jmx文件,如示例中所述。

在jmx文件中我有属性。指定的属性,如$ {__ property(0_users ,, 0)}

我管理员使用-J参数通过命令行上传此属性。

如何通过java指定参数。我没有找到任何关于此的信息。

是否存在某种直接在java中指定它的方法?         StandardJMeterEngine jmeter = new StandardJMeterEngine();

    // Initialize Properties, logging, locale, etc.
    JMeterUtils.loadJMeterProperties("C:\\jMeter\\apache-jmeter-2.13\\bin\\jmeter.properties");
    JMeterUtils.setJMeterHome("C:\\jMeter\\apache-jmeter-2.13");

    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
    File jmxFile = new File("C:\\jMeter\\test.jmx");
    HashTree testPlanTree = SaveService.loadTree(jmxFile);

    jmeter.configure(testPlanTree);
    jmeter.run();

1 个答案:

答案 0 :(得分:0)

上述链接指出:

// Initialize Properties, logging, locale, etc
JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties");

因此,您可以直接在 jmeter.properties user.properties 文件中定义所需的属性 - 它们位于Jmeter" bin&#中34;文件夹如:

0_users=50
foo=bar

最后你总是有可能回到Java Properties。如果您计划创建Java可执行文件,则可以切换到__Beanshell()函数,如:

${__BeanShell(System.getProperty("0_users"))}

属性值可以通过-D命令行参数提供,如:

your_binary -D0_users=50

或者您可以再次通过 system.properties 文件设置值。

请记住,您需要在CLASSPATH中使用ApacheJMeter_functions.jar库才能正确评估任何JMeter函数。

有关使用JMeter属性的全面信息,请参阅Apache JMeter Properties Customization Guide