Jmeter 簡單入門教程

該文章是基於上一次文章的 軟件測試漫談(web測試,自動化測試,Jmeter) 的續篇, 主要是詳細講解 Jmeter 的入門教程。

因爲上次的文章只是簡單地講解了 Jmeter 的使用和一些概念,所以很多初學者像按照原來的文章操作 Jmeter 進行測試是比較麻煩的,所有才有了這篇後續,以幫助開發者能快速使用 Jmeter 來進行測試。如果還沒看過之前那個文章,建議先看一下,學習一下Jmeter的基本概念,以便熟悉該文章操作的一些概念。該文章基於 Jmeter 版本 5.1.1 和 Windows 10。

測試需求

模擬20個 谷歌瀏覽器類型 用戶 同時 訪問 http://www.baidu.com/ 和 https://www.csdn.net/api/articles (該鏈接是獲取 csdn 上的文章,如果正確會返回狀態 “status”: “true”,) 在負載達到30 QPS 時的平均響應時間 和 結果準確度。

操作步驟

  1. 在 Jmeter 官網上下載 Jmeter 安裝包,下載地址: https://apache.osuosl.org//jmeter/binaries/apache-jmeter-5.2.1.zip,需要先安裝了 Jdk ,解壓 打開文件 apache-jmeter-5.1.1\bin\jmeter.bat

簡單設置請求

  1. 在測試計劃中選擇新建線程組,重命名線程組爲20個模擬用戶線程組。
    新建線程組
    在 Number of Threads 欄 填寫 20 ,設置 線程數爲 20。在 Loop Count 欄填寫 10000,設置 循環請求10000 次。

設置線程數

  1. 在線程組上右鍵,選擇添加 Http 請求的取樣器
    添加取樣器
    重命名該取樣器爲請求百度地址,在 Server Name or IP 欄填寫 www.baidu.comProt Number 欄填寫 80 端口,如果是https 協議,則填寫 443 端口。

設置請求百度地址請求
3. 再在線程組上填寫 HTTP 請求取樣器,並按照如下圖來進行設置和重命名爲 請求 csdn 文章

設置請求csdn文章
4. 設置結果查看 ,在線程組右鍵,添加結果樹

新建結果樹
重命名爲 結果查看,然後點擊 上方的 綠色的運行按鈕,即可,查看到發送的請求 HTTP 請求。點擊結果樹中的,任意一個請求可以看到請求的請求頭,請求時間,響應頭,響應時間等具體信息。

設置結果查看樹
然後,我們可以通過添加 總報表 的監聽器 來查看 請求的總體發送情況

總的報告
總的請求發送情況

一些特定參數設置

  1. 設置吞吐量/QPS
    Jmeter 提供了一個很有用的定時器,叫做 Constant Throughput Timer (常數吞吐量定時器),該定時器可以很方便地控制給定的取樣器發送請求的吞吐量。

在線程組上右鍵新建吞吐量定時器
添加吞吐量定時器

在 Target throughput( in smples per minute )(每分鐘的目標吞吐量): 實際填寫的數值爲:60 * QPS ,所以這裏我們填寫1200,然後 Calculate Through based on 選擇 All active threads 。

設置吞吐量
注意:這裏計算的吞吐量有時候並不準確,一般進行測試的時候,我們會選擇提高一些吞吐量的值以達到實際要求的 QPS

  1. 設置請求頭的參數,設置瀏覽器類型

對於某些請求,有可能我們需要設置請求的請求頭的信息,例如:瀏覽器類型,鑑權信息 token 等,這時候,我們可以通過添加 http 請求頭的配置元件來完成。
配置元件
添加配置元件之後,我們添加上瀏覽器的請求頭信息.
添加配置信息
這時候再點擊運行,可以看得到發送的請求中,請求頭包含了我們設置的信息:

在這裏插入圖片描述

  1. 判斷返回結果的是否成功

默認 Jmeter 是根據響應碼來判斷結果是否請求請求的,非200 的判斷爲不成功,如果我們想根據響應內容判斷,則需要添加斷言器,來自己判斷內容包含哪些字符等,一般我們添加響應信息的斷言器,即可。

添加斷言器
我們加上如果請求響應信息中包含了字符 {"status":"true 我們則判斷該請求成功,否則失敗,我們可以這樣來設置斷言。

設置結果斷言器
如果我們想單單針對某個請求來進行斷言,我們可以,將斷言放到某個請求裏面,這樣它就會只判斷該請求。這裏我們只針對 獲取 csdn的文章的請求來斷言。

最終的結果

我們完成以上配置之後,點擊運行,等待結果運行穩定好,查看 總報告情況 可以得到以下 截圖

總結果
可以看到,再QPS 約爲 5 的情況下,兩個請求的總體的情況平均響應時間爲 2.371 秒,當前總共發送了 733個請求,錯誤率 爲 3.14%(暫定的時候,後面幾個請求會斷開,也算入了錯誤率的)。由於這兩個請求的響應時間都比較慢和定義的用戶數只爲20個,所以QPS 比較難達到20 . 讀者後面可以自己提高 線程數 或者替換請求地址來測試看看。

注意事項

  1. 一般而已如果需要進行很高的QPS 的性能測試,不要使用界面來測試,配置完成後,保存jmx 文件之後,再使用命令行來測試會更好,因爲界面運行的話,會佔用很大資源,實際發送的請求可能得不到自己想要的QPS。界面運行命令,啓動 jmeter 的時候就有提示。jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
    運行命令

參考資源

  1. Jmeter 中文教程 板書
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章