初識Jmeter

初識Jmeter

結構

Jmeter就是先創建線程池,多線程運行取樣器(Sampler),產生大量負載,運行過程當中用斷言驗證結果正確與否,用監聽器記錄測試結果。數據庫

取樣器若是有參數化需求,交由X2中的前置處理器或配置元件完成。服務器

若是有關聯需求,交由後置處理器完成。若是要模擬運行場景,就設置線程組。模擬併發場景,利用定時器設置,控制業務的執行邏輯,用控制器完成。多線程

X1到X5用來模擬負載,統稱謂Y1,也可說是模擬用戶請求。併發

Y2用斷言來驗證結果,看結果對不對。函數

Z收集負載的結果,可在線程組內也可在線程組外。性能

 

X1測試

取樣器(Sampler)用來模擬用戶操做,發送請求,支持多種協議。線程

斷言(Assertions),預設結果,用以與實際結果,看運行是否正確。設計

監聽器(Listener),添加結果監聽,可供再次分析,或展現結果。3d

測試計劃是根節點,其下能夠有多個Thread Group,起始可配setUp Thread Group和tearDown Group。在每一個Group下可建立其它節點,模擬各種實際行爲。輔之以參數配置,完成複雜的場景設計。

X2

Pre Processors 準備環境和參數,好比發送數據庫請求就得先鏈接數據庫。

Config Element 爲模擬大量用戶操做,每每要作參數化,這就交由配置元件完成。Jmeter還提供了函數,用來動態生成數據。總之就是爲Sampler預備數據。

Post Processors 用來處理服務器的返回結果,

X3

Logic Controller 模擬業務邏輯

X4

Timer 控制請求的發送時間,好比模擬大量請求併發

X5

就是模擬大量用戶,一個線程對應一個用戶

其它

Test Fragment 其下能夠聽任何測試元件,但通常不會運行。用來備份元件,或是被模塊控制器調用。

Non Test Elements 

原理

 

setUp與tearDown分別爲開始與結束,能夠在當中作些初始化和收尾的工做,能夠不用,會在Group以前執行,非併發。(Thread Group爲併發執行)

中間的Thread Group爲主體請求。

  

新建請求,Jmeter自己是基於協議層的,因此這裏都是不一樣的請求協議

設置請求的各個參數,無他。

在測試計劃中添加View Results Tree和Summar Report,監聽請求。

點擊運行,能夠在Tree中查看結果。這裏發起了3次請求,綠色即代表請求成功。

左側能夠選擇請求結果的表示形式,右側Request選項卡有請求的具體信息,Response Data則爲響應數據。

能夠選擇正則測試器,對請求結果進行正則匹配,如<title>(.*)</title>。用正則就能夠設置測試點,取變量,作關聯等其它 操做。

這是對線程的設置。性能測試的思想就是看服務端如何響應請求,這裏就是在設置線程數,運行區間,循環次數等。

 

邏輯控制器是爲了模擬各種場景。新建一個控制器做爲父節點,在其下建立request做爲子節點,就可控制其行爲。

相關文章
相關標籤/搜索