一、JMeter進行HTTP協議接口的壓力測試
1.添加線程組
填寫併發信息
2.添加HTTP請求
填寫HTTP請求信息
3.設置監聽器
4.測試執行
1.)點擊【保存】按鈕,保存測試腳本,格式爲:*.jmx;
2.)點擊【啓動】按鈕,執行測試腳本;
5.測試結果解析
1.)查看結果樹:可以查看測試結果、請求信息、響應信息;
2)查看聚合報告:可以查看測試的請求數、響應時間和成功率
二、JMeter測試搶紅包示例
(1)概述
此處記錄使用JMeter對搶紅包業務進行壓力測試的過程,涉及的內容包括:
1.搶紅包業務壓力測試需求分析;
2.創建JMeter測試計劃,根據業務執行邏輯設計測試腳本;
3.設置檢查點;
4.回放腳本,根據業務邏輯判斷檢查點設置是否有效;
5.腳本參數化;
6.虛擬批量用戶執行搶紅包業務;
7.測試結果分析;
(2)測試需求分析
1.驗證批量用戶搶紅包時的響應時間是否滿足300ms以內;
2.驗證相同紅包每個用戶只能搶1次;
3.每個紅包最多隻能被搶9次;
4.用戶搶紅包的業務:
1)使用手機訪問紅包,請求驗證碼;(參數包含手機號碼和驗證碼)
2)(驗證碼下發成功),使用手機搶紅包;(參數包含手機號碼和驗證碼)
5.測試手機號碼和測試紅包有限;
(3)創建測試計劃、設計測試腳本
步驟如下:
1.新建測試計劃,右擊測試計劃-->【添加】-->【Threads(Users)】-->【線程組】,創建名爲“搶紅包測試”的線程組;
2.右擊“搶紅包測試”線程組-->【添加】-->【Sampler】-->【HTTP請求】,添加名爲“請求驗證碼”的HTTP請求;
1)填寫“請求驗證碼”的HTTP請求信息;
2)爲“請求驗證碼”請求【查看結果樹】,監聽測試結果;
3.右擊“搶紅包測試”線程組-->【添加】-->【Sampler】-->【HTTP請求】,添加名爲“搶紅包”的HTTP請求;
1)填寫“搶紅包”的HTTP請求信息;
2)爲“搶紅包”請求添加【查看結果樹】,監聽測試結果;
4.右擊“搶紅包測試”線程組-->【添加】-->【監聽器】-->【查看結果樹】,看測試結果、請求信息、響應信息;
5.右擊“搶紅包測試”線程組-->【添加】-->【監聽器】-->【聚合報告】,查看測試的請求數、響應時間和成功率等信息;
6.按上述步驟創建測試腳本,效果如下:
(4)設置檢查點
步驟如下:
1.使用一組正確的測試數據,驗證請求驗證碼、搶紅包成功的提示信息:
1)請求驗證碼成功的提示信息爲“短信驗證碼下發成功!”
2)請求驗證碼成功後,搶紅包成功的提示信息爲“成功”
2.設置檢查點
1)右擊“請求驗證碼”請求-->【添加】-->【斷言】-->【響應斷言】;
2)點擊【添加】按鈕,編輯斷言信息,該例中檢查響應數據是否包含“短信驗證碼下發成功!”
3)右擊“搶紅包”請求-->【添加】-->【斷言】-->【響應斷言】;
4)點擊【添加】按鈕,編輯斷言信息,該例中檢查響應數據是否包含“成功”;
(5)驗證檢查點是否生效
1..使用失效數據模擬用戶請求,確認檢查點是否生效;
1.)使用失效數據請求驗證碼時,測試失敗,因沒有檢查到指定信息;
2.)使用失效數據搶紅包時,測試失敗,因沒有檢查到指定信息;
2.使用正確信息請求時,測試通過;
(6)腳本參數化
步驟如下:
1.右擊“搶紅包測試”線程組-->【添加】-->【配置元件】-->【CSV Data Set Config】;
2.編輯【CSV Data Set Config】信息,如下圖:
3.修改“請求驗證碼”和“搶紅包”請求中需要參數化的參數值,和步驟2中定義的變量屬性一致;
4.參數文件示例:
(7)虛擬批量用戶執行搶紅包業務
前置條件:
1.檢查點生效、測試腳本調試成功;
2.測試參數化的測試數據準備完成;
步驟:
1.設置測試計劃循環次數;
2.點擊啓動按鈕,開始執行測試
(8)測試結果分析
1.查看結果樹:測試結果與實際結果一致,成功118次,失敗7次(調試腳本時已使用的信息,爲失效信息)
2.查看聚合報告:
三、多線程組併發測試(多場景混合併發)
如果測試需求出現如下場景,該如何使用JMeter實現壓力測試呢?即JMeter如何實現多線程組併發測試,也就是Loadrunner中的混合場景測試時,該如何設置併發數?
測試需求如下:對業務A、業務B、業務C、業務D、業務E,5個業務按併發比例要求進行100個用戶併發的壓力測試;
JMeter是可以實現上述需求的,測試方案如下:
1.創建一個測試計劃;
2.在該計劃下添加5個線程組,分別是對業務A、業務B、業務C、業務D、業務E;
3.分別設置線程組業務A、業務B、業務C、業務D、業務E的線程數爲:40、10、20、25、5(總併發量爲100,按併發比例設置併發用戶數)
3.在該計劃下添加測試結果監控;
4.設置執行時間,開始執行測試,測試時可以看到併發數爲5個業務併發量的總和,,如下圖: