2016-05-13 117 views
0

我想通過java運行jmeter。 來自https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui的示例如何通過java傳遞JMeter屬性

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

在jmx文件中我有屬性。屬性指定像$ {__屬性(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(); 

回答

0

上述連接狀態:

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

所以,你可以定義需要直接在jmeter.propertiesuser.properties文件的屬性 - 他們生活在JMeter的 「bin」 文件夾像:

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

+0

將我所有的屬性保存到jmeter.properties文件中。我可以在沒有-J參數的情況下從命令行運行jmeter。但是,當我從Java運行Jmeter時,參數不會被檢索。 – saltex

+0

添加了我運行jmeter運行的代碼。 – saltex

+0

你能說我做錯了嗎? – saltex

相關問題