[筆記] Jmeter web 多執行緒 登入後接口壓力測試
文章整理上傳於2017年9月14日(某X釋出了),使用的軟體環境為:win7 ,jmeter3.2測試javaweb
首先說明, 我是個菜鳥, 這篇文章是閒著沒事自檢研究研究寫的, 寫的有不對的地方歡迎指正
新手新手看看能有個基本概念就完事了...
1啟動jmeter
bin目錄下jmeter.bat點選啟動
2新建執行緒組
在“測試計劃”上右鍵->新增->Threads(Users)->”執行緒組” ,名稱為”執行緒組-web測試”
3新增http請求預設值
在”執行緒組-web測試”右鍵->新增->配置元件->http請求預設值,內容如下:
將協議,主機,埠,編碼等預設資訊填寫,方便之後的介面引數設定
4新增http資訊頭管理器
在”執行緒組-web測試”右鍵->新增->配置元件->http資訊頭管理器 ,預設即可
5新增http cookie管理器
在”執行緒組-web測試”右鍵->新增->配置元件-> httpcookie管理器 ,預設即可
6新增http請求,填寫要測試的介面資訊
在”執行緒組-web測試”右鍵->新增->sampler->http請求:
只需要填寫方法:get/post,路徑: /專案名/介面地址/…,Parameters:請求引數
7新增結果監聽器
在”執行緒組-web測試”右鍵->新增->監聽器->檢視結果樹
8新增登入後的JSESSIONID
因為要測試登入後的介面,所以需要為jmater配置一個登陸過已經驗證過的cookie,這樣壓力測試的時候就不會需要去登陸了
瀏覽器開啟進入到web的登入頁,輸入使用者名稱密碼,
然後F12->Network ,選中Preserve log,防止頁面跳轉導致登入介面找不到 ,
最後點選web登入按鈕登入系統,檢視Network,找到登入介面Request Headers->cookie,滑鼠複製cookie引數
點選剛才的”http資訊頭管理器”,填寫cookie資訊:
如下圖,
9.測試
在”執行緒組-web測試”右鍵->start
數秒後,在”檢視結果樹”找到http請求,發現響應資料確實為介面查詢的資料,並沒有重定向去登陸介面.
10結尾
此教程是針對執行緒數>1的傾向下免登陸的,
如果僅僅是一個執行緒迴圈多次,可以新增一個”僅一次控制器”,
在一次控制器中新增http請求登入介面,然後禁用http資訊頭管理器即可,這樣測試就只會登入一次,執行多次其他介面測試
11壓力測試結果分析和優化
我也不清楚怎麼搞,正在研究,有姿勢的留連結多謝