Jmeter-02-基礎元件介紹


測試計划


Test Plan (測試計划)

用來描述一個性能測試,包含與本次性能測試所有相關的功能。也就說JMeter創建性能測試的所有內容是於基於一個計划的。

下面看看一個計划下面都有哪些功能模塊(右鍵單擊“測試計划”彈出菜單)。

 

Threads (Users)線程 用戶

 

 

 

雖然有三個添加線程組的選項,名字不一樣, 創建之后,其界面是完全一樣的。在Jmeter之前的版本只有一個線程組的名字。現在多一個 setUp theread Group 與 tearDown Thread Group

  • setup thread group

一種特殊類型的ThreadGroup的,可用於執行預測試操作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行 測試前 進行定期線程組的執行。

  • teardown thread group

一種特殊類型的ThreadGroup的,可用於執行測試后動作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行 測試結束后 進行定期的線程組。

可能你還是不太理解他們與普通的線程組有什么不同。 如果您用過Junit單元測試框架,想必你不會對setUp(before) ,tearDown(after) 這兩個關鍵字不陌生。 即使沒用過,也沒關系。 熟悉loadrunner的應該知道,loadrunner的腳本除了action里是真正的腳本核心內容,還有初始化“環境”的初始化腳本和測試完畢后對應的清除信息的腳本塊。 那么這里 setup thread group 和 teardown thread group 就是分別指這兩部分。 其實從本質上來看,他們並沒有什么不同。

  • thread group(線程組)

這個就是我們通常添加運行的線程。通俗的講一個線程組,可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。線程組中包含的線程數量在測試執行過程中是不會發生改變的。

測試片段(Test Fragment)

 

 

 

 

測試片段是在JMeter2.5版本之后新加的一個選項。

測試片段元素是控制器上的一個種特殊的線程組,它在測試樹上與線程組處於一個層級。它與線程組有所不同,因為它不被執行,除非它是一個模塊控制器或者是被控制器所引用時才會被執行

配置元件(Config Element)

 

 

 

配置元件(config element)用於提供對靜態數據配置的支持。CSV Data Set config 可以將本地數據文件形成數據池(Data Pool),而對應於HTTP Request Sampler和 TCP Request Sampler等類型的配制元件則可以修改Sampler的默認數據。(例如,HTTP Cookie Manager 可以用於對 HTTP Request Sampler 的 cookie 進行管理)

定時器(Timer)

 

 

 

 

定時器(Timer)用於操作之間設置等待時間,等待時間是性能測試中常用的控制客戶端QPS的手段。類似於LoadRunner里面的“思考時間”。JMeter 定義了Bean Shell Timer、Constant Throughput Timer、固定定時器等不同類型的Timer。

前置處理器(Pre Processors)

 

 

 

用於在實際的請求發出之前對即將發出的請求進行特殊處理。例如,HTTP URL重寫修飾符則可以實現URL重寫,當RUL中有sessionID 一類的session信息時,可以通過該處理器填充發出請求的實際的SessionID 。

后置處理器(Post Processors)

 

 

 

 

用於對 Sampler 發出請求后得到的服務器響應進行處理。一般用來提取響應中的特定數據(類似LoadRunner測試工具中的關聯概念)。例如,XPath Extractor 則可以用於提取響應數據中通過給定XPath值獲得的數據。

斷言(Assertions)

 

 

 

 

斷言用於檢查測試中得到的相應數據等是否符合預期,斷言一般用來設置檢查點,用以保證性能測試過程中的數據交互是否與預期一致。

監聽器(Listener)

 

 

 

 

這個監聽器可不是用來監聽系統資源的元件。它是用來對測試結果數據進行處理和可視化展示的一系列元件。 圖形結果、察看結果樹、聚合報告等都是我們經常用到的元件。

控制器


JMeter有兩種類型的控制器:取樣器(Sampler)和邏輯控制器(Logic Controller),用這些元件來驅動處理一個測試。

取樣器(Sampler)

 

 

 

 

取樣器(Sample)是性能測試中向服務器發送請求,記錄響應信息,記錄響應時間的最小單元,JMeter原生支持多種不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一種不同類型的 sampler 可以根據設置的參數向服務器發出不同類型的請求。(在JMeter的所有sampler中,Java Request Sampler 和 Beanshell Request Sampler 是兩種特殊的可定制的 Sampler ,后面會深入討論。)

邏輯控制器(Logic Controller)

 

 

 

邏輯控制器,包括兩類無件,一類是用於控制test plan 中 sampler 節點發送請求的邏輯順序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循環控制器等。另一類是用來組織可控制 sampler 來節點的,如 事務控制器、吞吐量控制器。


到此,我們已經簡單介紹了JMeter中的所有元件,后序的性能測試工作也就是使用這些元件來創建測試任務。所以,你現還不理解這些元件具體使用,沒關系!先有個印象。

 

參考:http://www.testclass.net/jmeter/base-element


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM