裝好Jmeter以后,打開Jmeter頁面:包括測試計劃+工作臺。
1、Test Plan (測試計劃):用來描述一個性能測試限府,包含與本次性能測試所有相關(guān)的功能。也就說本的性能測試的所有內(nèi)容是于基于一個計劃的痢缎。
右鍵單擊“測試計劃”彈出菜單:
注意:
“函數(shù)測試模式”復(fù)選框胁勺,如果被選擇,它會使Jmeter記錄來自服務(wù)器返回的每個取樣的數(shù)據(jù)独旷。如果你在測試監(jiān)聽器中選擇一個文件署穗,這個數(shù)據(jù)將被寫入文件。如果你嘗試一個較小的測試來保證Jmeter配置正確并且你的服務(wù)器正在返回期望的結(jié)果嵌洼,這是很有用的案疲。這樣做的后果就是這個文件會快速的增大,并且Jmeter的效率會影響麻养。
如果不記錄數(shù)據(jù)到文件褐啡,這個選項就沒有不同了。
2鳖昌、Threads (Users)線程 用戶
雖然有三個添加線程組的選項备畦,名字不一樣低飒, 創(chuàng)建之后,其界面是完全一樣的懂盐。之前的版本只有一個線程組的名字∪焐蓿現(xiàn)在多一個setUp theread Group 與terDown Thread Group
- setup thread group
一種特殊類型的ThreadGroup的,可用于執(zhí)行預(yù)測試操作莉恼。這些線程的行為完全像一個正常的線程組元件拌喉。不同的是,這些類型的線程執(zhí)行測試前進行定期線程組的執(zhí)行俐银。
setUp Thread Group類似于lr的Vuser_init.可用于執(zhí)行預(yù)測試操作尿背。 - teardown thread group.
一種特殊類型的ThreadGroup的,可用于執(zhí)行測試后動作捶惜。這些線程的行為完全像一個正常的線程組元件残家。不同的是,這些類型的線程執(zhí)行測試結(jié)束后執(zhí)行定期的線程組售躁。
tearDown Thread Group類似于lr的Vuser_end.可用于執(zhí)行測試后動作。 - thread group(線程組).
這個就是我們通常添加運行的線程茴晋。通俗的講一個線程組,陪捷,可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶诺擅。線程組中包含的線程數(shù)量在測試執(zhí)行過程中是不會發(fā)生改變的市袖。
線程組:
名稱:就如字面意思,起個有意義的名字就行
注釋:
線程數(shù):這里選擇5
Ramp-Up Period:單位是秒烁涌,默認時間是1秒苍碟。它指定了啟動所有線程所花費的時間,比如撮执,當(dāng)前的設(shè)定表示“在5秒內(nèi)啟動5個線程微峰,每個線程的間隔時間為1秒”。如果你需要Jmeter立即啟動所有線程抒钱,將此設(shè)定為0即可
循環(huán)次數(shù):表示每個線程執(zhí)行多少次請求蜓肆。
3、測試片段(Test Fragment)
測試片段元素是控制器上的一個種特殊的線程組谋币,它在測試樹上與線程組處于一個層級仗扬。它與線程組有所不同,因為它不被執(zhí)行蕾额,除非它是一個模塊控制器或者是被控制器所引用時才會被執(zhí)行早芭。
控制器
JMeter有兩種類型的控制器:取樣器(sample)和邏輯控制器(Logic Controller),用這些原件來驅(qū)動處理一個測試诅蝶。
4退个、配置元件(Config Element)
配置元件(config element)用于提供對靜態(tài)數(shù)據(jù)配置的支持募壕。CSV Data Set config 可以將本地數(shù)據(jù)文件形成數(shù)據(jù)池
(Data Pool),而對應(yīng)于HTTP Request Sampler和 TCP Request Sampler等類型的配制無件則可以修改
Sampler的默認數(shù)據(jù)帜乞。
例如司抱,HTTP Cookie Manager 可以用于對 HTTP Request Sampler 的 cookie 進行管理。
HTTP 請求默認值不會觸發(fā)Jmeter發(fā)送http請求黎烈,而只是定義HTTP請求的默認屬性习柠。
5、定時器(Timer)
定時器(Timer)用于操作之間設(shè)置等待時間照棋,等待時間是性能測試中常用的控制客戶端QPS的手段资溃。類似于LoadRunner里面的“思考時間”。 JMeter 定義了Bean Shell Timer烈炭、Constant Throughput Timer溶锭、固定定時器等不同類型的Timer。
6符隙、前置處理器(Per Processors)
前置處理器用于在實際的請求發(fā)出之前對即將發(fā)出的請求進行特殊處理趴捅。例如,HTTP URL重寫修復(fù)符則可以實現(xiàn)URL重寫霹疫,當(dāng)RUL中有sessionID 一類的session信息時拱绑,可以通過該處理器填充發(fā)出請求的實際的sessionID 。
7丽蝎、后置處理器(Post Processors)
后置處理器是用于對Sampler 發(fā)出請求后得到的服務(wù)器響應(yīng)進行處理猎拨。一般用來提取響應(yīng)中的特定數(shù)據(jù)(類似LoadRunner測試工具中的關(guān)聯(lián)概
念)。例如屠阻,XPath Extractor 則可以用于提取響應(yīng)數(shù)據(jù)中通過給定XPath 值獲得的數(shù)據(jù);正則表達式提取器红省,則可以提取響應(yīng)數(shù)據(jù)中通
過正則表達式獲得的數(shù)據(jù)。
8国觉、斷言(Assertions)
斷言用于檢查測試中得到的相應(yīng)數(shù)據(jù)等是否符合預(yù)期吧恃,斷言一般用來設(shè)置檢查點,用以保證性能測試過程中的數(shù)據(jù)交互是否與預(yù)期一致蛉加。
9蚜枢、監(jiān)聽器(Listener)
這個監(jiān)聽器可不是用來監(jiān)聽系統(tǒng)資源的元件。它是用來對測試結(jié)果數(shù)據(jù)進行處理和可視化展示的一系列元件针饥。圖形結(jié)果厂抽、查看結(jié)果樹、聚合報告丁眼、用表格察看結(jié)果都是我們經(jīng)常用到的元件筷凤。
當(dāng)創(chuàng)建了一個線程組后,會再多一些原件。
10藐守、取樣器(Sampler)
取樣器(Sampler)是性能測試中向服務(wù)器發(fā)送請求挪丢,記錄響應(yīng)信息,記錄響應(yīng)時間的最小單元卢厂,JMeter 原生支持多種不同的sampler 乾蓬,
如 HTTP Request Sampler 、 FTP Request Sampler 慎恒、TCP Request Sampler 任内、
JDBC Request Sampler 等,每一種不同類型的 sampler 可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請求融柬。
在Jmeter的所有Sampler中死嗦,Java Request Sampler與BeanShell Requst Sampler是兩種特殊的可定制的Sampler.
11、邏輯控制器(Logic Controller)
邏輯控制器粒氧,包括兩類無件越除,一類是用于控制test plan 中 sampler 節(jié)點發(fā)送請求的邏輯順序的控制器,常用的有 如果(If)控制器 外盯、
switch Controller 摘盆、Runtime Controller、循環(huán)控制器等饱苟。另一類是用來組織可控制 sampler 來節(jié)點的骡澈,
如 事務(wù)控制器、吞吐量控制器掷空。
**********五、工作臺**
在測試中我們可能需要暫時更改一些組件囤锉,可以把一些需要更改的組件保存在工作臺中坦弟,測試完成后再恢復(fù),但是切記:不能退出jmeter.一旦退出jmeter官地,工作臺中的內(nèi)容就會消失酿傍。
工作臺-非測試元件-Property Display,此元件相當(dāng)于是jmeter.properties的GUI驱入。
六赤炒、幫助
http://jmeter.apache.org/usermanual/component_reference.html
最好的幫助是:菜單-“幫助”-“幫助”。
到此亏较,我們已經(jīng)簡單了解了jmeter的基本組成原件莺褒,我們后序的測試工作也就是使用這些元件來完成測試任務(wù)。