資料附件位置
連結:https://pan.baidu.com/s/1N7JE_aO6zPSHJUcUW84DSQ
提取碼:JMyc
概念
JMeter是一款用來做API(RESTful)接口測試的工具。同時也是一款接口性能測試很好的工具。
優點是圖形界面化操作簡單、直覺,更容易快速上手
缺點嘛就是JMeter是通過起線程來發送接口,是以做性能測試時起很多線程會造成電腦比較卡,占用資源比較多,說白了就是耗資源,硬體要求有一些。
Jmeter重要元件
配置元件---Config Element:
用于初始化預設值和變量,以便後續采樣器使用。配置元件大其作用域的初始階段處理,配置元件僅對其所在的測試樹分支有效,如,在同一個作用域的任何采樣器前。
前置處理器--- Pre Processors:
前置處理器會在采樣器送出請求之前做一些特殊操作。如果前置處理器附着在某個采樣器之下,那麼它隻會在該采樣器運作之前執行。前置處理器通常用于在采樣器送出請求前修改采樣器的某些設定,或者更新某些變量的值(這些變量不在伺服器響應中擷取值)。
計時器---Timer:
定時器會讓作用域内的每一個采樣器都在執行前等待一個固定時長,如果不設定這種延遲,JMeter可能會在短時間内産生大量通路請求,導緻伺服器被大量請求所淹沒。如果為線程組添加了多個定時器,那麼JMeter會将這些定時器的時長疊加起來,共同影響作用域範圍内的采樣器。定時器可以作為采樣器或者邏輯控制器的子項,目的是隻影響作用域内的采樣器。
采樣器---sampler:
采樣器告訴JMeter發送一個請求到指定伺服器,并等待伺服器的請求。采樣器會按照其在測試樹中的順序去執行,還可以用邏輯控制器來改變采樣器運作的重複次數。
後置處理器---Post Processors:
後置處理器會在采樣器送出請求之後做一些特殊操作。如果後置處理器附着在某個采樣器之下,那麼它隻會在該采樣器運作之後執行。後置處理器通常被用來處理伺服器的響應資料,特别是伺服器響應中提取資料。
斷言---Assertions:
使用者可以使用斷言來檢查從伺服器獲得的響應内容。通過斷言可以測試伺服器傳回的響應與測試人員的期望是否相符
監聽器---Listener:
監聽器提供了對JMeter在測試期間收集到的資訊的通路方法。"圖形結果"監聽器會将系統響應時長繪制在一張圖檔之中。"檢視結果樹"監聽器會展示采樣器請求和響應的細節,還可以将測試資料導入到檔案之中,以供後續分析。
邏輯控制器---Controller:
邏輯控制器可以幫助使用者控制JMeter的測試邏輯,特别是何時發送請求。邏輯控制器可以改變其子測試元件的請求執行順序。
JMete結構及執行順序
X 空間分為5個次元,Y空間分為兩個次元,Z空間1個次元
X1~X5是負載模拟的一個過程,使用這些元件來負載的模拟。
Y1:包含的是負載模拟部分,負責模拟使用者請求。
Y2:結果驗證部分,負責驗證結果的正确性。
Z:負載結果的收集,實踐上隻有一個組成部分——監聽器
1–配置元件(Config Element)
2–前置處理器(Pre Processors)
3–定時器(Timer)
4–取樣器(sampler)
5–後置處理器(Post Processors,隻在有結果可用情況下執行)
6–斷言(Assertions,隻在有結果可用情況下執行)
7–監聽器(Listener,隻在有結果可用情況下執行)
元件作用域
元件收集其作用範圍的每一個sampler元件的資訊并呈現,在jmeter中,元件的作用域是靠測試計劃的的樹型結構中元件的父子關系來确定的,作用域的原則是:
- 采樣器(sampler):元件不和其它元件互相作用,是以不存在作用域的問題。
- 邏輯控制器(Logic Controller):元件隻對其子節點中的取樣器 和 邏輯控制器作用。
- 除采樣器 和 邏輯控制器 元件外,其他6類元件,如果是某個sampler的子節點,則該元件隻對其父子節點起作用。
- 除采樣器和邏輯控制器元件外的其他6類元件,如果其父節點不是sampler ,則其作用域是該元件父節點下的其他所有後代節點(包括子節點,子節點的子節點等)。