最近有個需求,要求在23:57打一批委托單,考慮到人工執行jmx腳本不方便,於是就想有沒有什么腳本可以定時自動執行jmx腳本。最后在網上找到一篇介紹windows系統使用定時任務啟動jmx腳本的方法,在這里記錄一下,方便以后使用。
1、首先就是編輯jmx腳本以后保存好,jmx腳本可以使用命令行執行,這里將命令行指令保存為 .bat 文件放到jmeter的bin目錄。
jmeter -n -t D:\temp\zl_test\apache-jmeter-4.0\bin\xiadan.jmx -l D:\temp\zl_test\apache-jmeter-4.0\result\result.csv -j D:\temp\zl_test\apache-jmeter-4.0\result\result.log -e -o D:\temp\zl_test\apache-jmeter-4.0\report
▶- n:使用 NoGUI模式執行jmeter腳本
▶- t:Jmeter腳本文件所在位置,建議使用絕對路徑,使用相對路徑,要注意cmd命令執行目錄
▶- l:測試結果生成路徑,路徑目錄不會自動生產
▶- j:日志生成路徑,同上
▶- e:生成報告,同上
▶- o:測試報告生成目錄,目錄必須為空或不存在
2、第二步,就可以用定時任務命令行schtasks創建一個定時任務來執行jmx腳本了。
schtasks /create /tn qqtMidServerTest /tr D:\temp\zl_test\apache-jmeter-4.0\bin\QQT_MidServer_test.bat /sc once /st 23:57 /sd 2021/11/12
▷/create:表示創建定時任務;/delete:表示刪除定時任務;/query:查表示詢定時任務(查詢時可能報錯,執行chcp437)
▷/tn:定時任務名稱
▷/tr:接該定時任務需要執行的命令(.bat)
▷/sc:執行任務頻率,有once、minute、hourly、daily、weekly、onstart、onlogon、onidle、onevent
▷/st:開始時間(格式××:××);/et:結束時間
▷/sd:開始日期(格式××××/××/××);/ed:結束日期
Linux系統可以用crontab命令創建,命令使用可以用man crontab查詢。
3、最后定時任務在啟動jmx腳本的時候失敗了,需要設置jmeter環境變量。
●創建環境變量JMETER_HOME=D:\apache-jmetes\apache-jmeter-4.0 (jmeter的目錄)
●在用系統變量path后面加上%JMETER_HOME%\bin
●CLASSPATH=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;