Ⅰ Jmeter 命令行(非GUI模式)執行詳解
背景說明:
JMeter執行方式有兩種,一種是GUI模式,一種是非GUI模式。
GUI模式就是界面模式,非GUI模式就是命令行模式。GUI模式主要用來編寫和調試腳本用的,介面的性能測試最好是採用命令行模式,因為該模式可以和其它框架進行對接,進行自動化測試平台的集成。
非GUI模式適用場景:
1、更省資源,更容易實現多工具集整合;
2、當訪問的介面服務需要通過代理伺服器才能完成的;
3、當一台機器產生的壓力不夠時,採用分布式多機遠程執行模式,使得一台主控機可以控制多台壓力機,同時生成更多的壓力請求,達到客戶端能模擬大並發請求的目的;
4、可以通過外部傳參,讓命令行將數據傳入到腳本中,使得外部系統調用jmeter時候能更好的進行集成和傳參,比如通過jenkins啟動和執行介面自動化時,將參數從jenkins的界面傳入到jmeter中,就是通過命令行參數進行橋接的。
優點:
1、節約系統資源,無需啟動界面
2、便捷快速:僅需啟動命令行,輸入命令便可執行
3、易於持續集成:可通過shell腳本命令執行
參數詳解:
-h 幫助 -> 列印出有用的信息並退出
-n 非 GUI 模式 -> 在非 GUI 模式下運行 JMeter
-t 測試文件 -> 要運行的 JMeter 測試腳本文件
-J 是設置本地jmeter屬性,引用變數參數
-G 是設置server的jmeter屬性
-l 日誌文件 -> 記錄結果的文件
-r 遠程執行 -> 在Jmter.properties文件中指定的所有遠程伺服器
-H 代理主機 -> 設置 JMeter 使用的代理主機
-P 代理埠 -> 設置 JMeter 使用的代理主機的埠號
使用方法詳解:
前提:為了方便管理,在jmeter的安裝目錄bin下創建一個文件夾testscript用來存放腳本(.jmx文件),再創建一個文件夾testresult用來存放腳本執行後的結果文件。
一、使用JMeter非GUI模式
1、將要測試的jmeter腳本放到testscript目錄下
2、cmd打開命令行模式
3、進入到Jmeter安裝目錄下的bin目錄下
4、執行命令:jmeter -n -t examples\testscript\apd_v3.7_perf.jmx -l examples\testresult\apd3.7-reslut.jtl -j report\01-log.log
可以看到以下信息
summary+ 是開始這個時點的報告。
summary= 是總結它之前的報告,呈現出的是當前時點之前總的情況,通常是均值。
最後一個summary=是本次壓測總的情況,如果腳本按時正常結束的話,最後一次summary裡面的值應該和你從GUI打開聚合報告或概括報告的值一致。
二、無界面分布式壓測
當並發量過大單機無法承擔需要做分布式壓測
執行方法:
1、把腳本和參數文件存放到各台終端相同目錄下
2、將每台終端的jmerter-server.bat打開等待主機發號施令
3、在主機命令窗口鍵入類似以下命令:
jmeter.bat -n -t testscript/Bai.jmx -R 192.168.182.129:1100,192.168.182.130:1200 -l testresult/01-result.jtl -j report\01-log.log
命令中-R代表遠程 remote ,後面跟隨的是每台終端機jmeter-server窗口顯示的 ip 和埠,同樣,多台終端之間由逗號隔開,其他都與單機命令一樣。於是可以看到各台終端機的jmeter-server窗口有關運行和階段性summary的信息直至運行結束。總體的報告都在你主機保存的那個.jtl文件里。
Ⅱ jmeter入門 設置代理伺服器和錄制腳本
第一步:
可以設置瀏覽器代理,本文章推薦使用火狐瀏覽器
在瀏覽器—首選項--網路設置裡面設置代理伺服器
注意:埠號可以自行設置,但是不可以與本機其他代理產生沖突
第二步:
打開jmeter工具,添加非測試原件—HTTP代理伺服器,
第三步:
設置埠號與瀏覽器設置的代理埠保持一致,注意線程組下面記得添加:HTTP Cookie 管理器
第四步:
填寫錄制的過濾條件,可以過濾掉一些不必要的介面
過濾條件可以使用:
*\.(js|css|PNG|jpg|ico|png|gif|woff|ttf|txt).*
這樣基本設置就完成了,可以點擊jmeter的代理伺服器,錄制腳本了;
點擊啟動,復制要測試的網址在火狐瀏覽器上,點擊項目進行正常操作,介面就會自動錄制,錄制的介面可以手動篩除重復的;
注意: (這個已經改過了,不需要改,可以按照步驟去看一下文件哪個位置改了)
常見問題:
錄制的Jmeter腳本回放時,發現輸入的中文解析成亂碼了
解決步驟:
1、打開Jmeter的安裝目錄,進入bin文件夾,編輯文件:jmeter.properties
2、將文件內容#sampleresult.default.encoding=ISO-8859-1
更改為:sampleresult.default.encoding=utf-8
(注意去掉前面的#號注釋,否則不生效)。