2016-07-06 252 views
0

有沒有一種方法可以指定在運行時保存在輸出文件中而不是jmeter.properties文件中的變量列表?在運行時設置sample_variables屬性

我目前在jmeter.properties文件中指定了要保存在sample_variables中的變量列表,但是這不允許爲每個JMeter腳本指定不同的輸出變量集,除非我繼續更新jmeter.properties文件。

回答

0

我不知道在運行時更改sample_variables的方式。我所知道的唯一解決方法是使用BeanShell Listener(或可選的採樣器/預處理器/後處理器之一),該處理器寫入其自己的文件。例如: -

String filename = "myfile.txt"; 

String message = "At " + System.currentTimeMillis() + " data is " + vars.get("myVar"); 

FileOutputStream f = new FileOutputStream(filename, true); 
PrintStream p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(message); 
f.close(); 

您還可以添加條件時,變量應該被保存(例如,僅後具體採樣或只有當值已經改變)。根據我的經驗,使用BeanShell Listener的解決方案在資源方面並不昂貴,因爲無論運行的線程數是多少,它都將是1個線程。帶有可編程預處理/後處理器的解決方案通常比較昂貴,除非您很少保存變量。

0

您可以通過像-J命令行參數傳遞sample_variables(以及任何其他財產):

jmeter -Jsample_variables=foo -n -t script1.jmx 
jmeter -Jsample_variables=bar,baz -n -t script2.jmx 

而且,每JMeter的用戶手冊Managing Properties章:

當您需要要修改jmeter屬性,請確保您不要修改jmeter.properties文件,而是從jmeter.properties中複製屬性並修改其在user.properties文件中的值。

Apache JMeter Properties Customization Guide此文出於不同的JMeter屬性類型,並與他們的工作方式的全面信息