Windows的命令列執行jmeter指令碼(及引數化配置)
背景:在準備除錯完測試指令碼後,在命令列執行指令碼
準備工作:切換到jmeter/bin 目錄下(我這裡未配置jmeter的環境變數)、將指令碼檔案test.jmx 存放在bin目錄
執行命令: jmeter -n -t test.jmx -l res.jtl -e -o res/
-n代表noGUI執行jmeter
-t代表測試計劃(test plan)
指令碼名稱.jmx,要指明所在目錄,可以使用絕對路徑,也可以使用相對路徑
-l :name不能重複.jtl (.jtl),此檔名不能重複。l就是log的意思,把結果儲存到這個檔案中
-e :在指令碼執行結束後生成html報告
-o :用於存放html報告的目錄(若指定目錄的話,目錄必須為空),支援放
1、動態儲存日誌和報告
方式一:動態儲存日誌+報告:先刪除之前同名稱已存在的檔案,再執行
del /s /Q 01resLogin.jtl rd /s /Q 02res jmeter -n -t 01login.jmx -l 01resLogin.jtl -e -o 02res |
方式二:加上變數(要先設定變數)
Cmd命名行設定變數:set name=1,再使用它
jmeter -n -t 01login.jmx -l res%name%.jtl -e -o res%name%
---------------------------------------------------------------------------------------------------------
C:\FFFF盤\測試軟體\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin>set name=2
C:\FFFF盤\測試軟體\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin>jmeter -n -t 01login.jmx -l res%name%.jtl -e -o res%name
2、命令列除錯指令碼,動態配置屬性 例如:執行緒數,持續併發時長等
參照:https://www.cnblogs.com/jxial/p/15169803.html
-J加上指令碼設定的變數名=N,例如執行緒數的變數名
jmeter -n -t 01login.jmx -Jconcurrent_number=10 -l 01resLogin.jtl -e -o 02res
若有多個變數,分別指派值,例如:迴圈次數為5 -Jcycles=5
jmeter -n -t 01login.jmx -Jconcurrent_number=10 -Jcycles=5 -l 01resLogin.jtl -e -o 02res
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="FUSE Pro APP VN" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="迴圈控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> <intProp name="LoopController.loops">-1</intProp> </elementProp> <stringProp name="ThreadGroup.num_threads">${__P(count_number,1)}</stringProp> <stringProp name="ThreadGroup.ramp_time">${__P(ini_time,1)}</stringProp> <boolProp name="ThreadGroup.scheduler">true</boolProp> <stringProp name="ThreadGroup.duration">${__P(timePeriod,3)}</stringProp> <stringProp name="ThreadGroup.delay"></stringProp> <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </ThreadGroup> |