有沒有一種方法可以指定在運行時保存在輸出文件中而不是jmeter.properties文件中的變量列表?在運行時設置sample_variables屬性
我目前在jmeter.properties文件中指定了要保存在sample_variables中的變量列表,但是這不允許爲每個JMeter腳本指定不同的輸出變量集,除非我繼續更新jmeter.properties文件。
有沒有一種方法可以指定在運行時保存在輸出文件中而不是jmeter.properties文件中的變量列表?在運行時設置sample_variables屬性
我目前在jmeter.properties文件中指定了要保存在sample_variables中的變量列表,但是這不允許爲每個JMeter腳本指定不同的輸出變量集,除非我繼續更新jmeter.properties文件。
我不知道在運行時更改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個線程。帶有可編程預處理/後處理器的解決方案通常比較昂貴,除非您很少保存變量。
您可以通過像-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屬性類型,並與他們的工作方式的全面信息