jmeter命令行執行腳本_動態參數設置


  從04月換公司開始,就沒靜下來心來學習,其中發生了比較多的事情吧,不過不管如何,沒堅持學習還是因為懶。本周交接完,下周去入職新公司,該靜下心來學點什么了。

-----------------------------------------------------------分割線------------------------------------------------------------- 

  最近看到在Linux上折騰jmeter的人越來越多,不過即使在windows上,jmeter的腳本我還是建議用命令行來執行(降低GUI模式帶來的性能損耗,不過拿jmeter來做接口測試的無所謂)。做性能測試的時候,有時候可能需要不停的去設置“線程組”那個界面的參數(例如線程數、循環次數、持續時間等),而每次修改-->保存-->cmd中運行總感覺麻煩,那就找一種方法可以在命令行中直接指定參數的值。

  查看相關資料實操,可以發現JMeter的測試計划在運行Sampler之前會先加載運行屬性(jmeter.properties,system.properties等)文件,而且JMeter還提供了方法可以動態修改屬性,在命令行中使用【-J】 來指定JMeter Properties,腳本里面使用__P() 函數來獲取命令中指定的屬性值,那么方法就出來了。

 

配置說明:

1、並發數設置為${__P(concurrent_number,1)},循環次數取消勾選Forever,設置為${__P(cycles,1)},其中后面的1是默認值,作用是執行一次來調試腳本,這是__P函數的功能(雖然我一直都是用GUI模式來調試腳本的)

2、執行時長設置為${__P(duration,60)},默認1分鍾(60s),如果同時設置了循環次數和執行時長,那么滿足其中一個條件腳本就會停止。

 

那么先試試吧,默認執行腳本,命令行如下:

jmeter -n -t \tmp\cnblgo.jmx(腳本的絕對路徑)

 

 從上圖可以看出,腳本執行了一次,持續了0.7s,是OK的。

 

查看Jmeter的源碼,可知執行次數=-1時即表示Forever。以50並發執行120s的命令行如下:(為了直觀,我直接生成測試報告用web界面的形式看,否則-l后面的可以不寫)

jmeter -n -t C:\Users\zhoulinjie\Desktop\cnblgo.jmx -Jconcurrent_number=50 -Jduration=120 -Jcycles=-1 -l report.jtl -e -o C:\Users\zhoulinjie\Desktop\report

 打開生成的測試報告文件,index.html,如下:

  還有其他的組合就不截圖了,需要什么參數,直接用-J+${}+__P()即可。同理,線程組界面中的Ramp-Up Period(in seconds)也是可以通過這種方式設置的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM