接口測試06--jmeter工具使用

哈嘍,大家好!我是minisummer!首先感謝您的關(guān)注!
今天給大家分享的內(nèi)容是接口測試必備的jmeter工具使用:測試計劃的介紹,三大線程組,線程組八大組件:取樣器,邏輯控制器,前置處理器,后置處理器,斷言,定時器,配置元件及監(jiān)聽器。介紹了5種參數(shù)化方法,數(shù)據(jù)關(guān)聯(lián)方法,數(shù)據(jù)斷言方法,并發(fā)操作方法,數(shù)據(jù)庫連接方法等內(nèi)容。

Jmeter測試計劃

測試計劃是Jmeter的入口,是存放腳本的容器,一個腳本即是一個測試計劃,用來描述一個性能測試,包含與本次性能測試所有相關(guān)的功能。
測試計劃里可以添加線程(用戶),配置文件、監(jiān)聽器、定時器、前置處理器,后置處理器,斷言、測試片段,非測試元件等。
測試計劃四要素
腳本中計劃只能有一個;至少要有一個線程組;至少有一個采樣器;至少有一個監(jiān)聽器。

jmeter界面介紹

線程(虛擬用戶)

1.線程組
測試計劃>添加>線程(用戶)>線程組。

設置JMeter按照什么場景來運行(添加/Threads/線程組)。
JMeter使用一個Java線程來模擬一個用戶,一個線程組就是一組虛擬用戶(virtual users),相當于多個用戶同時去執(zhí)行相同的任務,這些虛擬用戶用來模擬訪問被測系統(tǒng),每個線程之間都是隔離的,互不影響。

image.png

線程組8大組件

2.setup線程組
用于執(zhí)行預測試操作,類似于LR 的init方法。

3.teardown線程組
用于執(zhí)行測試后動作,類似于LR的end方法。

取樣器—添加http請求

添加http請求:右擊“線程組” > “添加” > “Sampler” > “HTTP請求”。

取樣器是性能測試中向服務器發(fā)送請求,記錄響應信息和響應時間的最小單元。

http取樣器-get請求

監(jiān)聽器

右擊“線程組” > “監(jiān)聽器” > “察看結(jié)果樹”。

監(jiān)聽器是用來對測試結(jié)果數(shù)據(jù)進行處理和可視化展示的一系列元件,如圖形結(jié)果、查看結(jié)果樹、聚合報告、用表格查看結(jié)果等。

1).察看結(jié)果樹:查看性能測試過程中請求和響應信息。

監(jiān)聽器-察看結(jié)果樹

2)聚合報告

單位是毫秒,后綴是jtl


監(jiān)聽器-聚合報告

參數(shù)化(數(shù)據(jù)驅(qū)動)

數(shù)據(jù)驅(qū)動:從數(shù)據(jù)文件中讀取測試數(shù),驅(qū)動測試過程的測試方法。是更高級的參數(shù)化。

數(shù)據(jù)驅(qū)動特點:測試數(shù)據(jù)與測試代碼分離;數(shù)據(jù)控制過程。

數(shù)據(jù)驅(qū)動優(yōu)點:減少測試代碼量;降低腳本開發(fā)與維護成本;便于用例的維護。

JMeter中參數(shù)化的五種方式

  • 函數(shù)助手:_CSVRead

  • CSV Data Set Config:CSV數(shù)據(jù)文件配置

  • User Defined Variables:用戶定義的變量

  • User Parameters:用戶參數(shù)

  • 數(shù)據(jù)庫

參數(shù)化引用:${參數(shù)名稱}

參數(shù)化方法一:CSV數(shù)據(jù)文件設置

配置元件--CSV數(shù)據(jù)文件設置,用于提供對靜態(tài)數(shù)據(jù)配置的支持。

右擊“線程組” > “添加” > “配置元件”>“CSV數(shù)據(jù)文件設置”來設置參數(shù)化。

配置元件-CSV數(shù)據(jù)文件配置

注意:若啟用了csv數(shù)據(jù)文件設置,但不設置參數(shù)化,在執(zhí)行的時候會報錯,沒有運行結(jié)果。

參數(shù)化方法二:用戶定義變量

線程組> “配置元件” > “用戶定義變量”。

應用場景:當測試環(huán)境變化時,我們只需要修改一處的IP就可以讓腳本馬上應用于另外一個環(huán)境的測試。


配置元件-用戶定義變量

參數(shù)化方法三:用戶參數(shù)

線程組> “前置處理器” > “用戶參數(shù)”。

前置處理器-用戶參數(shù)

http請求默認值

線程組> “配置元件” > “HTTP請求默認值”。

配置元件-http請求默認值

參數(shù)化方法四:函數(shù)助手

tools > “函數(shù)助手對話框” > “__CSVRead”。

tools-函數(shù)助手-csvread

參數(shù)化方法五:數(shù)據(jù)庫
jdbc驅(qū)動下載(maven倉庫)

添加jdbc驅(qū)動的2種方法

mysql數(shù)據(jù)庫連接

mysql數(shù)據(jù)庫查詢

引用參數(shù)

定時器

右擊“線程組” > “添加” > “定時器” > “固定定時器”
右擊“線程組” > “添加” > “定時器” > “高斯隨機定時器”
定時器用于操作之間設置等待時間,類似于loadrunner的思考時間。

定時器-高斯隨機定時器

斷言

斷言用于檢查測試中得到的響應數(shù)據(jù)是否符合預期,一般用來設置檢查點,用以保證性能性能測試過程中的數(shù)據(jù)交互是否與預期一致。

右擊“線程組” > “添加” > “斷言” > “響應斷言”

有的時候,即使我們測試返回的response code為200,也不能保證該測試是正確的。響應斷言:通過對比響應的內(nèi)容來判斷返回的頁面是否是我們確定要返回的頁面,或者判斷請求是否成功,相當于loadrunner中的檢查點。

斷言-響應斷言

隨機數(shù)

右擊“選項” > “函數(shù)助手對話框” > “__Random”

例如,在0-100之間取隨機數(shù)。

tools-函數(shù)助手-隨機數(shù)

后置處理器—正則表達式

右擊“線程組” > “添加” > “后置處理器”> “正則表達式提取器”

后置處理器是用于對取樣器發(fā)出請求后得到的服務器響應進行處理,類似loadrunner的關(guān)聯(lián)函數(shù)。Jmeter是通過正則表達式提取器來獲得數(shù)據(jù)。

Jmeter中的關(guān)聯(lián)是使用正則表達式提取器來實現(xiàn)的,相對于loadrunner來說Jmeter的關(guān)聯(lián)功能比較弱,只能在線程組內(nèi)實現(xiàn)關(guān)聯(lián),不能跨線程組。


后置處理器-正則表達式提取器

后置處理器—JSON提取器

后置處理器-JSON提取器

后置處理器—Debug PostProcessor調(diào)試后置處理程序

用來調(diào)試查看后置處理器,提取數(shù)據(jù)的情況


后置處理器-調(diào)試后置處理程序

取樣器—Debug Sampler調(diào)試取樣器

作用同調(diào)試后置處理程序。


取樣器-調(diào)試取樣器

Bean Shell Sampler腳本取樣器

右擊“線程組” > “添加” > “Sampler” > “Bean Shell Sampler”

Beanshell腳本取樣器-打印參數(shù)

增加cookie

創(chuàng)建 HTTP cookie 管理器:右鍵線程組-->添加-->配置元件-->HTTP cookie 管理器


配置元件-http cookie管理器

增加請求頭headers

創(chuàng)建 HTTP 信息頭管理器:右鍵線程組-->添加-->配置元件-->HTTP 信息頭管理器


配置元件-http信息頭管理器

增加集合點

增加 Synchronizing Timer:右鍵線程組-->添加-->定時器-->同步定時器
集合點:讓所有請求在不滿足條件的時候處于等待狀態(tài),從而達到并發(fā)效果。


定時器-同步定時器

請大家多多指教~
以上內(nèi)容希望對你有幫助,有被幫助到的朋友歡迎點贊,評論。
注:轉(zhuǎn)載請注明出處,商用請征得作者本人同意,謝謝?。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容