介紹Jmeter常用元件,大概了解下陋气,具體使用過程中會更深入的講解和了解劳吠。
打開jmeter頁面:包含測試計劃+工作臺(JMETER4.0之后,打開后默認工作臺沒有了)
一巩趁、test? plan(測試計劃)
用來描述一個測試痒玩,包含與本次測試所有相關(guān)的功能。也就說本的測試的所有內(nèi)容是于基于一個計劃的议慰。
右鍵單擊“測試計劃”彈出菜單:
注意:
“函數(shù)測試模式”復(fù)選框蠢古,如果被選擇,它會使Jmeter記錄來自服務(wù)器返回的每個取樣的數(shù)據(jù)别凹。如果你在測試監(jiān)聽器中選擇一個文件草讶,這個數(shù)據(jù)將被寫入文件。如果你嘗試一個較小的測試來保證Jmeter配置正確并且你的服務(wù)器正在返回期望的結(jié)果炉菲,這是很有用的堕战。這樣做的后果就是這個文件會快速的增大,并且Jmeter的效率會影響颁督。
如果不記錄數(shù)據(jù)到文件践啄,這個選項就沒有不同了。
1沉御、Threads?(Users)線程用戶
里面應(yīng)該有三個線程組的選項屿讽,名字不一樣,創(chuàng)建之后吠裆,其界面是完全一樣的伐谈。
1)setup Thread Group
一種特殊類型的線程組,可用于執(zhí)行預(yù)測試操作试疙,一般在性能測試中用到诵棵。這些線程組行為完全像一個正常的線程組元件。不同的是祝旷,這些類型的線程執(zhí)行測試前進行定期線程組的執(zhí)行履澳。
setUp Thread Group類似于lr的init.可用于執(zhí)行預(yù)測試操作嘶窄。
2)?teardown?thread?group
一種特殊類型的ThreadGroup的,可用于執(zhí)行測試后動作距贷。這些線程的行為完全像一個正常的線程組元件柄冲。不同的是,這些類型的線程執(zhí)行測試結(jié)束后執(zhí)行定期的線程組忠蝗。
tearDown Thread Group類似于lr的end现横,可用于執(zhí)行測試后動作。
3)?thread?group(線程組)
??這個就是我們通常添加運行的線程阁最。通俗的講一個線程組,戒祠,可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶速种。線程組中包含的線程數(shù)量在測試執(zhí)行過程中是不會發(fā)生改變的姜盈。
線程組:
名稱:就如字面意思,起個有意義的名字就行
注釋:添加備注信息
線程數(shù):類似Loadrunner的vuser數(shù)
Ramp-Up Period:單位是秒哟旗,默認時間是1秒贩据。它指定了啟動所有線程所花費的時間,比如闸餐,當(dāng)前的設(shè)定表示“在5秒內(nèi)啟動5個線程饱亮,每個線程的間隔時間為1秒”。如果你需要Jmeter立即啟動所有線程舍沙,將此設(shè)定為0即可
循環(huán)次數(shù):表示每個線程執(zhí)行多少次請求近上。
2、測試片段(Test?Fragment)
測試片段元素是控制器上的一個種特殊的線程組拂铡,它在測試樹上與線程組處于一個層級壹无。它與線程組有所不同,因為它不被執(zhí)行感帅,除非它是一個模塊控制器或者是被控制器所引用時才會被執(zhí)行斗锭。
3、邏輯控制器
???? 邏輯控制器失球,包括兩類無件岖是,一類是用于控制test?plan?中?sampler?節(jié)點發(fā)送請求的邏輯順序的控制器,常用的有?如果(If)控制器?实苞、 switch?Controller?豺撑、Runtime?Controller、循環(huán)控制器等黔牵。另一類是用來組織可控制?sampler?來節(jié)點的聪轿, 如?事務(wù)控制器、吞吐量控制器猾浦。
4陆错、配置元件
?配置元件(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)用于操作之間設(shè)置等待時間兔朦,等待時間是性能測試中常用的控制客戶端QPS的手段偷线。類似于LoadRunner里面的“思考時間”。 JMeter?定義了Bean?Shell?Timer沽甥、Constant?Throughput?Timer声邦、固定定時器等不同類型的Timer。
6摆舟、前置處理器
?前置處理器用于在實際的請求發(fā)出之前對即將發(fā)出的請求進行特殊處理亥曹。例如,HTTP?URL重寫修復(fù)符則可以實現(xiàn)URL重寫恨诱,當(dāng)RUL中有sessionID?一類的session信息時媳瞪,可以通過該處理器填充發(fā)出請求的實際的sessionID?。
7照宝、取樣器(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.
8、后置處理器
后置處理器是用于對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ù)绞铃。
9、斷言(Assertions)
斷言用于檢查測試中得到的相應(yīng)數(shù)據(jù)等是否符合預(yù)期嫂侍,斷言一般用來設(shè)置檢查點儿捧,用以保證性能測試過程中的數(shù)據(jù)交互是否與預(yù)期一致荚坞。
10、監(jiān)聽器
這個監(jiān)聽器可不是用來監(jiān)聽系統(tǒng)資源的元件菲盾。它是用來對測試結(jié)果數(shù)據(jù)進行處理和可視化展示的一系列元件颓影。?圖形結(jié)果、查看結(jié)果樹懒鉴、聚合報告诡挂、用表格察看結(jié)果都是我們經(jīng)常用到的元件。
二临谱、工作臺
(jmeter4.0默認打開沒有璃俗,這里還是講一講)
在測試中我們可能需要暫時更改一些組件,可以把一些需要更改的組件保存在工作臺中悉默,測試完成后再恢復(fù)城豁,但是切記:不能退出jmeter.一旦退出jmeter,工作臺中的內(nèi)容就會消失抄课。
1唱星、工作臺-非測試元件-Property Display
此元件相當(dāng)于是jmeter.properties的GUI
2、HTTP代理服務(wù)器
可以錄制腳本
3跟磨、HTTP? Mirror? Server
可以用來調(diào)試