因測試任務較多,但是壓測又需要盡快進行,所以了解下jmeter,下面是簡單又詳細的使用步驟
- 下載
- 壓測使用的元件所在位置
- 定義變量
- csv數(shù)據(jù)文件設置
- 響應斷言
- 查看結果樹
- 聚合報告
- 圖形結果
- 測試片段/http請求
- csv數(shù)據(jù)文件使用
- 壓測
- 結果分析
- 插件庫
- Transactions per Second
- Response Times Over Time
下載
個人有個習慣,只要換電腦如果不是實在破解不動,盡量選最新版本的,所以jmeter的下載也是官網(wǎng)下載最新版本,當前使用的版本是5.2.1
解壓后在bin目錄下用jmeter.bat啟動
可以在選項->選擇語言中切換中英文
元件的位置
因為這東西下次使用也不知何時何地,因此詳細描述下位置所在
每個測試片段應該都可以單獨配置,但是我壓測兩個服務,配置相同,所以配置都在線程組下的級別
- step1: 添加線程組(可以更換名字)
- step2:線程組->添加->配置元件->添加用戶定義變量
- step3:線程組->添加->配置元件->csv數(shù)據(jù)文件設置
- step4:線程組->添加->監(jiān)聽器->查看結果樹
- step5:線程組->添加->監(jiān)聽器->聚合報告
- step6:線程組->添加->斷言->響應斷言
- step7:線程組->添加->監(jiān)聽器->圖形結果
- step8:線程組->添加->測試片段->測試片段
- setp9:測試片段->添加->取樣器->HTTP請求
csv文件
為什么使用csv文件?
要進行壓測的服務是面向C端的接口,因此內(nèi)部的數(shù)據(jù)都是會走redis緩存的,如果只是單純的使用相同的參數(shù)進行壓測結果是不準確的,因此我需要壓測的時候使用不同的數(shù)據(jù)進行請求csv文件的使用
創(chuàng)建一個txt文件; 修改后綴為csv即可; txt也可以,但是我覺得csv后綴讓我更加舒服一些,csv的格式可以網(wǎng)上查一下,文章較多,下面是我使用逗號分割的數(shù)據(jù)展示:
1900-10086-saas-134903645339712257,134903888052550406,134903888052550410,134907030342269710
1900-1003-saas-134914445471323173,134906253846713346,134914509915755566,134914509915755572
1900-002-saas-134914445471323173,134906253846713346,134914509915755566,134914509915755572,134914660248910619
1900-10087-saas-134914445471323173,134906253846713346,134914509915755566,134914509915755572,134914660248910619,134914660249959199,135178971588393767,135178971588393773,135178971589442355,135178971589442361
1900-002-saas-135178971588393767,135178971588393773,135178971589442355,135178971589442361,135180553283638298,135180553283638302
在jmeter中使用csv文件:

csv可以認為是一個表格, 然后這里設置下表頭和分割方式, 文件中我使用了橫線進行分割; 因此我這里分隔符也是橫線;
后面會使用表頭進行放置數(shù)據(jù)
壓測
本次要壓測的是POST請求
- 用戶定義的變量
- 當前在本地壓測測試一下,設置了本地變量: local->127.0.0.1
- 設置Http請求頭
- HTTP信息頭管理器中添加 Content-Type 值為 application/json
- 響應斷言
- 服務響應成功,code為100,因此在響應斷言中增加測試返回數(shù)據(jù)中是否包含:code:100的字符串
-
HTTP請求
直接上圖, 使用csv文件和使用本地變量都是使用${}來進行引用
image.png - 配置壓測時的配置數(shù)據(jù)
1.響應斷言
作用是用于統(tǒng)計成功請求,對于不符合的請求按請求失敗處理,最終統(tǒng)計成功的請求
本次壓測成功的請求返回的是code為100的; 因此響應斷言中增加:
image.png
2.線程數(shù)量
image.png
壓測結果
啟動后看兩個地方:
1.查看結果樹
里面記錄了請求的響應,加入斷言后在這里可以得到體現(xiàn),如果斷言失敗是失敗請求,如果異常率較高; 在這里可以過濾出失敗的請求; 看下失敗的原因
image.png
2.聚合報告
看接口的tps就在這里進行查看
image.png
插件庫

默認并沒有這個Plugins Manager選項; 這時候需要先下載插件的jar包;網(wǎng)址上有使用說明,將jar包放在 lib/ext 下重啟jmeter;
我這邊要用的插件是Avaliable Plugins中最后的一個; 這里會有一個下載的過程; 下載的時候jmeter跟進程中斷一樣; 當設置完成后在Installed Plugins中展示;

-
Transactions per Second
即tps,每秒事務數(shù),性能測試中,最重要的2個指標之一。該插件的作用是在測試腳本執(zhí)行過程中,監(jiān)控查看服務器的TPS表現(xiàn)————比如整體趨勢、實時平均值走向、穩(wěn)定性等。
image.png -
Response Times Over Time
即TRT,事務響應時間,性能測試中,最重要的兩個指標的另外一個。該插件的主要作用是在測試腳本執(zhí)行過程中,監(jiān)控查看響應時間的實時平均值、整體響應時間走向等。
image.png 其他插件; 可以按需使用; 當前我沒有使用的需求
最后; 上述截圖只是本地的一個測試樣例; 我用來熟悉jmeter使用; 截圖數(shù)據(jù)不具備參考






