第二篇:Jmeter功能概要
一.jmeter工具組成部分:
1.資源生成器:用於生成測試過程中服務器,負載機的資源代碼;
2.用戶運行器:通常是一個腳本運行引擎,根據腳本的要求模擬指定用戶行為,(lr中的controller)
3.報表生成器:根據測試中,實時的生成報表,提供可視化的數據顯示方式。(lr中的analysis)
4.負載發生器:用於產生負載,通常以多線程或者多進程的方式模擬用戶行為(lr中的load Generators)
二:TestPlan(測試計劃):用來描述一個性能測試,包含與本次性能測試所有的相關的功能,也就是說本次性能測試的所有的內容是基於一個計劃的(相當於lr中的一個測試場景)
1.線程用戶:(Threads users):
setUp thread group:
一種特殊類型的ThreadGroup 的,可用於執行預測試的操作,這些線程的行為完全像一個正常的線程組,不同的是,這些類型的線程是在測試之前進行的;類似(lr的init())
tearDown thread group:
一種特殊類型的ThreadGroup 的,可用於執行測試後的操作,這些線程的行為完全像一個正常的線程組,不同的是,這些類型的線程是在測試之後進行的;類似(lr的end())
3)thread group(線程組)
這個就是我們通常添加運行的線程,可以看做一個虛擬的用戶組,線程組中的每個線程都可以理解為一個虛擬用戶,線程組中包含的線程數量在測試執行的過程中是不會發生改變的,類似於(lr的action())
三:測試片段(test Fragment)
測試片段是控制器上的一種特殊的線程組,他在測試樹上與線程組處於同一層級,他與線程組有所不同的是,他不被執行,除非他是一個模塊控制器,或者被控制器所引用時候,才會被執行:
3.1:線程組的8類可以執行的元件:
1.配置元件:(config Element)
配置元件用於:提供對靜態數據的配置的支持,如:CSV Data Set config 可以將本地的數據文件形成數據池(Data pool)
2.定時器(Timer)
定時器,用於操作之間設置等待的時間,等待時間是性能測試中,常用的控制客戶端QPS(服務器處理的請求數/S,)的手段,類似lr中的思考時間,
如上是jmeter 的定時器:這裏不再列舉;
3.:前置處理器:(Pro Processors)
用於在實際的請求發出去之前對即將發生的請求,進行特殊處理,例如:HTTP,URL重寫修飾符則可以實現URL重寫,當URL中有sessionid,一類的session信息時候,可以通過該處理器填充發出請求的實際sessionID;
4.後置處理器(post Processors)
用於對sampler 發出請求後得到的服務器響應進行處理,一般來提取響應中的特定的數據,(類似lr中的測試中的關聯的概念)
5.斷言(Assertions)
斷言用於檢測,測試中得到的相應的數據是否等於預期結果,斷言一般用來設置檢查點,用於保證性能測試過程中的數據是否和預期結果一致;
6.監聽器:
用於對測試結果數據,進行處理和可視化展示的一系列的元件,例如:圖形結果,查看結果樹,聚合報告,都是我們經常用到的元件,註意:這裏監聽可不是用來監聽系統資源的;
7.取樣器:(sample)
取樣器,是性能測試過程中,向服務器,發送請求,記錄響應信息,記錄響應時間的最小單元,jmeter 支持多種不同的sampleer,如:HTTP request sampler,FTP Request sampler ,TCP,JDBC,等等,每種不同的取樣都可以根據不同的設置參數,向服務器,發出不同類型的請求;
8.邏輯控制器:
邏輯控制包括2種:
一類:用於控制testplan中的sampler 節點發送請求的邏輯順序控制器,常用的有if控制器,switch controller,runtime controller,循環控制器,另一類是用來組織可控制sampler節點的,如:事務控制器,吞吐量控制器;
第二篇:Jmeter功能概要