組件介紹:
推薦一篇組件見關(guān)系和作用的詳細(xì)講解:jmeter常用組件_jmeter組件介紹_果果文本庫
1.線程組(Threads):這個(gè)組件主要用來控制Jmeter并發(fā)時(shí)產(chǎn)生線程的數(shù)量浓恳,在它的下一級(jí)菜單下只有一個(gè)組件(線程組)亭引,可以這么理解每個(gè)線程就是一個(gè)虛擬的用戶猾普。所有的其他類型組件必須是(線程組)節(jié)點(diǎn)的子節(jié)點(diǎn)翠霍。
2.測試片段(Test Fragment):測試片段元素是控制器上的一個(gè)種特殊的線程組,它在測試樹上與線程組處于一個(gè)層級(jí)痕寓。它與線程組有所不同傲醉,因?yàn)樗槐粓?zhí)行,除非它是一個(gè)模塊控制器或者是被控制器所引用時(shí)才會(huì)被執(zhí)行.
3.配置元件(config element):用于提供對(duì)靜態(tài)數(shù)據(jù)配置的支持呻率。CSV Data Set config 可以將本地?cái)?shù)據(jù)文件形成數(shù)據(jù)池(Data Pool)硬毕,而對(duì)應(yīng)于HTTP Request Sampler和 TCP Request Sampler等類型的配制無件則可以修改Sampler的默認(rèn)數(shù)據(jù)。(例如礼仗,HTTP Cookie Manager 可以用于對(duì) HTTP Request Sampler 的cookie 進(jìn)行管理)吐咳。和Sample組件一起工作,主要用來配置Sample如何來發(fā)起請(qǐng)求訪問服務(wù)器元践,這個(gè)東西的主要特點(diǎn)是可以把一些Sample的共同配置放在一個(gè)元素里面方便管理韭脊,配置單元是有作用域的。作用域和樹的那個(gè)關(guān)系一樣越是上級(jí)節(jié)點(diǎn)的作用域越大单旁,越是接近葉子節(jié)點(diǎn)的作用域就越小沪羔,可以復(fù)寫上級(jí)作用域的配置。
4.定時(shí)器(Timer) : 這個(gè)主要是用來調(diào)節(jié)(線程組)慎恒,控制線程每次運(yùn)行測試邏輯(比如說:發(fā)出請(qǐng)求)的時(shí)間間隔任内。當(dāng)然這個(gè)下面還有很多類型的定時(shí)器,他們主要功能就是調(diào)節(jié)時(shí)間間隔融柬,但個(gè)個(gè)組件之間的策略有很大不同死嗦。
5.前置處理器(Per Processors):用于在實(shí)際的請(qǐng)求發(fā)出之前對(duì)即將發(fā)出的請(qǐng)求進(jìn)行特殊處理。例如粒氧,HTTP URL重寫修復(fù)符則可以實(shí)現(xiàn)URL重寫越除,當(dāng)RUL中有sessionID 一類的session信息時(shí),可以通過該處理器填充發(fā)出請(qǐng)求的實(shí)際的sessionID
6. 后置處理器(Post Processors):用于對(duì)Sampler 發(fā)出請(qǐng)求后得到的服務(wù)器響應(yīng)進(jìn)行處理外盯。一般用來提取響應(yīng)中的特定數(shù)據(jù)(類似LoadRunner測試工具中的關(guān)聯(lián)概念)摘盆。例如,XPath? Extractor 則可以用于提取響應(yīng)數(shù)據(jù)中通過給定XPath 值獲得的數(shù)據(jù)饱苟。
????? 前置處理器和后置處理器類似一個(gè)HOOK孩擂,在測試執(zhí)行之前和執(zhí)行之后執(zhí)行一些腳本的邏輯。該組件我還沒有具體使用過箱熬,但大致功能就是這樣类垦,非重點(diǎn)組件。
7.斷言(Assertions) : 斷言用于檢查測試中得到的相應(yīng)數(shù)據(jù)等是否符合預(yù)期城须,斷言一般用來設(shè)置檢查點(diǎn)蚤认,用以保證性能測試過程中的數(shù)據(jù)交互是否與預(yù)期一致。
8.監(jiān)聽器(Listener):這可不是用來監(jiān)聽系統(tǒng)資源的元件糕伐。它是用來對(duì)測試結(jié)果數(shù)據(jù)進(jìn)行處理和可視化展示的一系列元件砰琢。 圖行結(jié)果、查看結(jié)果樹良瞧、聚合報(bào)告陪汽。都是我們經(jīng)常用到的元件。
組件執(zhí)行順序:
在同一作用域名范圍內(nèi)(不考慮邏輯控制器)褥蚯,測試計(jì)劃中的元件按照如下順序執(zhí)行掩缓。
(1)配置元件(config elements )
(2)前置處理程序(Per-processors)
(3)定時(shí)器(timers )
(4)取樣器(Sampler)
(5)后置處理程序(Post-processors) (除非Sampler 得到的返回結(jié)果為空)
(6)斷言(Assertions)(除非Sampler 得到的返回結(jié)果為空)
(7)監(jiān)聽器(Listeners)(除非Sampler 得到的返回結(jié)果為空)