mac JMeter https 壓力測試配置
官網下載 http://jmeter.apache.org/download_jmeter.cgi
運行: 終端執行
cd apache-jmeter-5.1.1
./bin/jmeter &
軟件界面:
選擇語言:
- 測試計劃,所有的測試工作都要基於測試計劃來進行,一個測試項目中就只能存在一個的測試計劃,測試計劃在整個項目中充當的是一個全局設置的作用,這樣也就不難解釋爲什麼一個項目中就只能有一個測試計劃
- 測試計劃創建完成下一步是創建線程組
線程組,線程組顧名思義也就是相當於很多線程的一個集合,在項目中可以有多個的線程組,線程組在項目中主要是集合對一個對象進行測試的線程,比如說你想測試A網站和B網站,這個時候你就可以通過創建兩個線程組來完成這個任務
可以在這裏填寫自己需要的測試條件
- 線程組創建完成後,創建監聽器-查看結果樹。
查看結果樹,監聽器的一種,搭建線程後,是沒有辦法查看結果的,因此我們需要對結果進行監聽,這時就可以新建一個監聽器了,查看結果樹是可以看到每一條請求的結果的,拿來測試軟件很方便
聚合報告也是需要創建的,可以看到所有請求的彙總分析
- 線程組下創建HTTP信息頭管理器。通過瀏覽器打開https://testerhome.com ,開啓開發者工具,選擇Network,點擊url選擇headers,將Request Headers裏的內容複製到HTTP信息頭管理器。
HTTP信息頭管理器,可以幫助測試人員設定JMeter發送的HTTP請求頭所包含的信息,HTTP信息頭中包含有”User-Agent"、“Pragma"、”Referer"等屬性,儘可能放在線程組一級,除非因爲某些原因,希望不同的HTTP請求使用不同的HTTP信息頭
左邊複製,右邊從剪貼板添加就全出來了
- 線程組下創建邏輯控制器-簡單控制器。
邏輯控制器-簡單控制器,JMeter裏最簡單的控制器,不具備任何功能,主要是爲採樣器提供一個塊的功能
分析+編寫
- 通過查看Cookie可以得知TesterHome的cookie包含_ga,_gat,_gid,_homelandsession,userid,其中_ga,_gat,_gid沒什麼用可不填。
-
查看Resonse,搜索token,可以看到token通過csrf-token存儲。
-
在簡單控制器下,創建Http請求。通過前面的分析爲登錄TesterHome我們需要創建三個Http請求,分別命令爲:未登錄HOME頁,登錄,已登陸HOME頁。
-
未登錄HOME頁的Http請求很簡單,只需要分別填寫協議、服務器名稱和請求
-
在未登錄HOME頁的Http請求裏,我們需要cookie中的homelandsession和user_id,以及response中的csrf-token。
在JMeter中可以通過正則表達式提取數據,其中_homelandsession和user_id在信息頭中,csrf-token在Body中
-
登錄的Http請求裏有我們的登錄信息。因此除了填寫協議、服務器名稱和請求外,還需要添加參數。
-
在登錄的Http請求裏,需要上一個請求提取的值,因此在Http請求下新建一個HTTP信息頭管理器。登錄後,我們需要一個新的cookie,因此在Http請求裏,需要提取真實的_homelandsession和user_id。
JMeter如何將上一個請求的結果作爲下一個請求的參數—使用正則表達式提取器 引用@不出三天的博客
- 已登陸HOME頁的Http請求與未登錄HOME頁的Http請求一致。與登錄的Http請求一致,需要新建一個HTTP信息頭管理器,將新的cookie寫入。在Http請求下,添加一個斷言,裏面寫用戶名稱,判斷響應數據是否正確。
結果運行
點擊運行,查看結果樹,大功告成
可以查看聚合報告分析測試結果