哈嘍,大家好!我是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)聽器。

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


2.setup線程組
用于執(zhí)行預測試操作,類似于LR 的init方法。
3.teardown線程組
用于執(zhí)行測試后動作,類似于LR的end方法。
取樣器—添加http請求
添加http請求:右擊“線程組” > “添加” > “Sampler” > “HTTP請求”。
取樣器是性能測試中向服務器發(fā)送請求,記錄響應信息和響應時間的最小單元。

監(jiān)聽器
右擊“線程組” > “監(jiān)聽器” > “察看結(jié)果樹”。
監(jiān)聽器是用來對測試結(jié)果數(shù)據(jù)進行處理和可視化展示的一系列元件,如圖形結(jié)果、查看結(jié)果樹、聚合報告、用表格查看結(jié)果等。
1).察看結(jié)果樹:查看性能測試過程中請求和響應信息。

2)聚合報告
單位是毫秒,后綴是jtl

參數(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ù)文件設置,但不設置參數(shù)化,在執(zhí)行的時候會報錯,沒有運行結(jié)果。
參數(shù)化方法二:用戶定義變量
線程組> “配置元件” > “用戶定義變量”。
應用場景:當測試環(huán)境變化時,我們只需要修改一處的IP就可以讓腳本馬上應用于另外一個環(huán)境的測試。

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

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

參數(shù)化方法四:函數(shù)助手
tools > “函數(shù)助手對話框” > “__CSVRead”。

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




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

斷言
斷言用于檢查測試中得到的響應數(shù)據(jù)是否符合預期,一般用來設置檢查點,用以保證性能性能測試過程中的數(shù)據(jù)交互是否與預期一致。
右擊“線程組” > “添加” > “斷言” > “響應斷言”
有的時候,即使我們測試返回的response code為200,也不能保證該測試是正確的。響應斷言:通過對比響應的內(nèi)容來判斷返回的頁面是否是我們確定要返回的頁面,或者判斷請求是否成功,相當于loadrunner中的檢查點。

隨機數(shù)
右擊“選項” > “函數(shù)助手對話框” > “__Random”
例如,在0-100之間取隨機數(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提取器

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

取樣器—Debug Sampler調(diào)試取樣器
作用同調(diào)試后置處理程序。

Bean Shell Sampler腳本取樣器
右擊“線程組” > “添加” > “Sampler” > “Bean Shell Sampler”

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

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

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

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