一芒粹、Jmeter重要組件:
1)配置元件---Config Element:
用于初始化默認(rèn)值和變量超棺,以便后續(xù)采樣器使用镐侯。配置元件大其作用域的初始階段處理奕巍,配置元件僅對(duì)其所在的測(cè)試樹分支有效吟策,如,在同一個(gè)作用域的任何采樣器前的止。
2)前置處理器--- Pre Processors:
前置處理器會(huì)在采樣器發(fā)出請(qǐng)求之前做一些特殊操作檩坚。如果前置處理器附著在某個(gè)采樣器之下,那么它只會(huì)在該采樣器運(yùn)行之前執(zhí)行。前置處理器通常用于在采樣器發(fā)出請(qǐng)求前修改采樣器的某些設(shè)置匾委,或者更新某些變量的值(這些變量不在服務(wù)器響應(yīng)中獲取值)拖叙。
計(jì)時(shí)器---Timer:
定時(shí)器會(huì)讓作用域內(nèi)的每一個(gè)采樣器都在執(zhí)行前等待一個(gè)固定時(shí)長(zhǎng),如果不設(shè)定這種延遲赂乐,JMeter可能會(huì)在短時(shí)間內(nèi)產(chǎn)生大量訪問請(qǐng)求薯鳍,導(dǎo)致服務(wù)器被大量請(qǐng)求所淹沒。如果為線程組添加了多個(gè)定時(shí)器挨措,那么JMeter會(huì)將這些定時(shí)器的時(shí)長(zhǎng)疊加起來挖滤,共同影響作用域范圍內(nèi)的采樣器。定時(shí)器可以作為采樣器或者邏輯控制器的子項(xiàng)运嗜,目的是只影響作用域內(nèi)的采樣器壶辜。采樣器---sampler:
采樣器告訴JMeter發(fā)送一個(gè)請(qǐng)求到指定服務(wù)器悯舟,并等待服務(wù)器的請(qǐng)求担租。采樣器會(huì)按照其在測(cè)試樹中的順序去執(zhí)行,還可以用邏輯控制器來改變采樣器運(yùn)行的重復(fù)次數(shù)抵怎。
5)后置處理器---Post Processors:
后置處理器會(huì)在采樣器發(fā)出請(qǐng)求之后做一些特殊操作奋救。如果后置處理器附著在某個(gè)采樣器之下,那么它只會(huì)在該采樣器運(yùn)行之后執(zhí)行反惕。后置處理器通常被用來處理服務(wù)器的響應(yīng)數(shù)據(jù)尝艘,特別是服務(wù)器響應(yīng)中提取數(shù)據(jù)。
6)斷言---Assertions:
用戶可以使用斷言來檢查從服務(wù)器獲得的響應(yīng)內(nèi)容姿染。通過斷言可以測(cè)試服務(wù)器返回的響應(yīng)與測(cè)試人員的期望是否相符
7)監(jiān)聽器---Listener:
監(jiān)聽器提供了對(duì)JMeter在測(cè)試期間收集到的信息的訪問方法背亥。"圖形結(jié)果"監(jiān)聽器會(huì)將系統(tǒng)響應(yīng)時(shí)長(zhǎng)繪制在一張圖片之中。"查看結(jié)果樹"監(jiān)聽器會(huì)展示采樣器請(qǐng)求和響應(yīng)的細(xì)節(jié)悬赏,還可以將測(cè)試數(shù)據(jù)導(dǎo)入到文件之中狡汉,以供后續(xù)分析。
8) 邏輯控制器---Controller:
邏輯控制器可以幫助用戶控制JMeter的測(cè)試邏輯闽颇,特別是何時(shí)發(fā)送請(qǐng)求盾戴。邏輯控制器可以改變其子測(cè)試元件的請(qǐng)求執(zhí)行順序。
二兵多、組件執(zhí)行順序:
測(cè)試計(jì)劃的元素執(zhí)行是有序的尖啡,通過以下方式執(zhí)行:1–配置元件(Config Element)2–前置處理器(Pre Processors)3–定時(shí)器(Timer)4–取樣器(sampler)5–后置處理器(Post Processors,只在有結(jié)果可用情況下執(zhí)行)6–斷言(Assertions剩膘,只在有結(jié)果可用情況下執(zhí)行)7–監(jiān)聽器(Listener衅斩,只在有結(jié)果可用情況下執(zhí)行)
三、組件作用域:
元件收集其作用范圍的每一個(gè)sampler元件的信息并呈現(xiàn)怠褐,在jmeter中畏梆,元件的作用域是靠測(cè)試計(jì)劃的的樹型結(jié)構(gòu)中元件的父子關(guān)系來確定的,作用域的原則是:
采樣器(sampler):元件不和其它元件相互作用,因此不存在作用域的問題具温。
邏輯控制器(Logic Controller):元件只對(duì)其子節(jié)點(diǎn)中的取樣器 和 邏輯控制器作用蚕涤。
除采樣器 和 邏輯控制器 元件外,其他6類元件铣猩,如果是某個(gè)sampler的子節(jié)點(diǎn)揖铜,則該元件只對(duì)其父子節(jié)點(diǎn)起作用。
除采樣器和邏輯控制器元件外的其他6類元件达皿,如果其父節(jié)點(diǎn)不是sampler 天吓,則其作用域是該元件父節(jié)點(diǎn)下的其他所有后代節(jié)點(diǎn)(包括子節(jié)點(diǎn),子節(jié)點(diǎn)的子節(jié)點(diǎn)等)峦椰。
四龄寞、特殊說明:
配置元件(Config Elemnet)-->用戶自定義變量組件(User Defined Variables):這個(gè)組件不管放在哪個(gè)位置,它定義的變量都會(huì)被整個(gè)線程所共享汤功。
例如:
下面這個(gè)例子物邑,測(cè)試計(jì)劃定義如下:
1、定義了三個(gè)sampler:one滔金、Debug Sampler色解、two
2、在one下面定義了一個(gè)用戶自定義變量:在這里添加了一個(gè)變量餐茵,名為hello,值為world
3科阎、一個(gè)監(jiān)聽器:查看結(jié)果樹
目的:測(cè)試在sampler one下定義的變量是否能被sampler two和debug sampler所引用
one:
User Defined Variables:
two:
運(yùn)行結(jié)果:
由上可知:在one下面定義的用戶變量,在debug sampler和two處都能正常使用忿族。
參考:
http://www.cnblogs.com/fnng/archive/2012/12/27/2836506.html