JMeter基礎(chǔ)系列(七) JMeter斷言之響應(yīng)斷言

7.1 斷言的定義

斷言用于驗(yàn)證取樣器請(qǐng)求或?qū)?yīng)的響應(yīng)數(shù)據(jù)是否返回了期望的結(jié)果。
可以是看成驗(yàn)證測(cè)試是否預(yù)期的方法。

對(duì)于接口測(cè)試與性能測(cè)試來(lái)說(shuō),就是測(cè)試Request/Response创南,斷言即可以針對(duì)Request進(jìn)行气忠,也可以針對(duì)Response進(jìn)行淘钟。但大部分是對(duì)Response做斷言。

JMeter常見(jiàn)的斷言元件如下:
1.響應(yīng)斷言
2.JSON Assertion

7.2 響應(yīng)斷言

配置項(xiàng)

Apply to:

1.在大多數(shù)情況下,只有主取樣器具有所有必需的響應(yīng)數(shù)據(jù)。但是很多Web應(yīng)用使用了Ajax师枣,JQuery技術(shù),
  單個(gè)請(qǐng)求可以在內(nèi)部產(chǎn)生多個(gè)子請(qǐng)求,并且每個(gè)請(qǐng)求都有其對(duì)應(yīng)的響應(yīng)數(shù)據(jù)蜜唾。
  比如請(qǐng)求某一個(gè)頁(yè)面,頁(yè)面里的js會(huì)調(diào)用其他請(qǐng)求。

2.在HTTP請(qǐng)求的高級(jí)設(shè)置的“Embedded Resources from HTML Files”項(xiàng),
  勾選了“Retrieve All Embedded Resources”夺刑,在發(fā)送請(qǐng)求時(shí)沼填,會(huì)解析相關(guān)的嵌入資源薛夜,
  也會(huì)導(dǎo)致取樣器可能產(chǎn)生多個(gè)子取樣器晚伙。
  嵌入資源包括:images民傻、applets喧半、stylesheets婉称、external scripts、frames/iframes绷雏、
  background images缀蹄、background sound等。

3.有重定向的請(qǐng)求垛玻,并且勾選了“Follow Redirects”,則主取樣器為最后返回的URL請(qǐng)求喂江,
  第一次URL和重定向返回的所有URL請(qǐng)求為子取樣器。
  比如赴邻,使用http://www.sina.com/訪問(wèn)新浪墨榄,會(huì)有兩次重定向:
      第一次請(qǐng)求: GET http://www.sina.com/ 重定向返回: Location: http://www.sina.com.cn/
      第二次請(qǐng)求: GET http://www.sina.com.cn/ 重定向返回: Location:  https://www.sina.com.cn/
      第三次請(qǐng)求: GET https://www.sina.com.cn/
  主取樣器為第三次請(qǐng)求;第一次箱沦,第二次與第三次請(qǐng)求為子取樣器聘萨。
Main sample and sub-samples
范圍包括主取樣器與所有子取樣器米辐。
Main sample only
范圍僅限于主取樣器狸页。
Sub-samples only
范圍僅限于所有子取樣器斋竞。
JMeter Variable Name to use
范圍包括使用的JMeter變量。

Field to Test:

1.Text Response
  響應(yīng)正文惨篱。對(duì)于HTTP協(xié)議來(lái)說(shuō)界牡,是響應(yīng)的message-body(不包括狀態(tài)行與首部字段)
2.Response Code
  響應(yīng)代碼簿寂。對(duì)于HTTP協(xié)議來(lái)說(shuō),是響應(yīng)狀態(tài)碼宿亡,比如200常遂、304、404等挽荠。
3.Response Message
  響應(yīng)消息克胳。對(duì)于HTTP協(xié)議來(lái)說(shuō),是原因短語(yǔ)圈匆,比如OK漠另、Not Modified、Not Found等跃赚。
4.Response Headers
  響應(yīng)首部字段酗钞。
5.Request Headers
  請(qǐng)求首部字段。
6.URL Sampled
  請(qǐng)求的URL来累。對(duì)于HTTP請(qǐng)求,若勾選了“Follow Redirects”窘奏,則包含重定向后的URL嘹锁。
7.Document(text)
  通過(guò)Apache Tika從各種類型的文檔中提取文本。此選項(xiàng)開(kāi)啟也會(huì)嚴(yán)重影響性能着裹,謹(jǐn)慎使用领猾。
8.Request Data
  請(qǐng)求數(shù)據(jù)。對(duì)于HTTP協(xié)議來(lái)說(shuō)骇扇,是請(qǐng)求的message-body(不包括請(qǐng)求行與首部字段)
9.Ignore Status
  通過(guò)將斷言的結(jié)果與現(xiàn)有的響應(yīng)狀態(tài)相結(jié)合來(lái)確定取樣器的總體成功摔竿。
  當(dāng)選擇Ignore Status復(fù)選框時(shí),將強(qiáng)制響應(yīng)狀態(tài)在計(jì)算斷言之前是成功的少孝。
  HTTP協(xié)議在返回4xx和5xx的狀態(tài)碼默認(rèn)是不成功的继低,勾選此項(xiàng)可用于在執(zhí)行進(jìn)一步檢查之前設(shè)置狀態(tài)成功。
  請(qǐng)注意稍走,這將具有清除任何以前的斷言失敗的效果袁翁,因此請(qǐng)確保只在第一個(gè)斷言上開(kāi)啟此設(shè)置柴底。

Pattern Matching Rules:

1.Contains
  如果文本包含正則表達(dá)式模式,則為true
2.Matches
  如果整個(gè)文本與正則表達(dá)式模式匹配粱胜,則為true
3.Equals
  如果整個(gè)文本等于模式字符串(區(qū)分大小寫)柄驻,則為true
4.Substring
  如果文本包含模式字符串(區(qū)分大小寫),則為true
  注意:
       Contains和Matches模式支持Perl5類型的正則表達(dá)式焙压;
       Equals和Substring模式使用文本字符串鸿脓,不支持正則表達(dá)式。
5.Not
  對(duì)斷言結(jié)果進(jìn)行否定涯曲。
6.Or
  將多個(gè)測(cè)試模式以邏輯“或”組合起來(lái)野哭。

Patterns to Test:

要測(cè)試的模式列表。每個(gè)模式都是單獨(dú)測(cè)試的掀抹。
如果模式失敗虐拓,則不檢查其他模式,
使用多個(gè)模式設(shè)置一個(gè)斷言與使用每個(gè)模式設(shè)置多個(gè)斷言之間沒(méi)有區(qū)別(假設(shè)其他選項(xiàng)相同)傲武。

Custom failure message:

自定義斷言失敗信息蓉驹。即設(shè)置“Assertion failure message”的值。

對(duì)請(qǐng)求做斷言

1.斷言請(qǐng)求首部字段
在“要測(cè)試的響應(yīng)字段"選擇“Request Headers”
2.斷言請(qǐng)求URL地址

分兩種情況討論:

(1)若在“HTTP Request”中勾選了“Follow Redirects”揪利,
 則斷言對(duì)象包含請(qǐng)求URL态兴,與重定向Location首部返回的URL,重定向若有多次疟位,則包含每次返回的URL瞻润;
(2)若在“HTTP Request”中沒(méi)有勾選“Follow Redirects”,
 則斷言對(duì)象只針對(duì)請(qǐng)求URL甜刻。

對(duì)響應(yīng)做斷言

1.斷言響應(yīng)首部字段
在“Field to Test”選擇“Response Headers”
2.斷言響應(yīng)狀態(tài)碼
在“Field to Test”選擇“Response code”
3.斷言響應(yīng)原因短語(yǔ)
在“Field to Test”選擇“Response Message”
4.斷言響應(yīng)正文
在“Field to Test”選擇“Text Response”

多模式斷言

在“Patterns to Test”項(xiàng)中可以添加多個(gè)斷言模式進(jìn)行測(cè)試绍撞,多個(gè)模式可以使用“與”,“或”以及“非”進(jìn)行邏輯組合:

1.邏輯與(and)
多個(gè)模式之間默認(rèn)以“與(and)”進(jìn)行邏輯組合
2.邏輯或(or)
當(dāng)勾選了“Pattern Matching Rules”中的“Or”得院,則多個(gè)模式之間以“或(or)”進(jìn)行邏輯組合
3.邏輯非(not)
當(dāng)勾選了“Pattern Matching Rules”中的“Not”傻铣,則將每個(gè)模式Not后以“and”或“or”組合
假設(shè)有模式p1,p2祥绞,p3非洲,... ,pn(優(yōu)先級(jí)not > and > or)
(1)僅勾選“Not”
 則相當(dāng)于:(not p1) and (not p2) and (not p3) and ... and (not pn)
(2)勾選“Not”與“Or”
 相當(dāng)于:(not p1) or (not p2) or (not p3) or ... or (not pn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜕径,一起剝皮案震驚了整個(gè)濱河市两踏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兜喻,老刑警劉巖梦染,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異朴皆,居然都是意外死亡弓坞,警方通過(guò)查閱死者的電腦和手機(jī)隧甚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)渡冻,“玉大人戚扳,你說(shuō)我怎么就攤上這事∽逦牵” “怎么了帽借?”我有些...
    開(kāi)封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)超歌。 經(jīng)常有香客問(wèn)我砍艾,道長(zhǎng),這世上最難降的妖魔是什么巍举? 我笑而不...
    開(kāi)封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任脆荷,我火速辦了婚禮,結(jié)果婚禮上懊悯,老公的妹妹穿的比我還像新娘蜓谋。我一直安慰自己,他們只是感情好炭分,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布桃焕。 她就那樣靜靜地躺著,像睡著了一般捧毛。 火紅的嫁衣襯著肌膚如雪观堂。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天呀忧,我揣著相機(jī)與錄音师痕,去河邊找鬼。 笑死而账,一個(gè)胖子當(dāng)著我的面吹牛七兜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播福扬,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惜犀!你這毒婦竟也來(lái)了铛碑?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虽界,失蹤者是張志新(化名)和其女友劉穎汽烦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體莉御,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡撇吞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年俗冻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牍颈。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡迄薄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出煮岁,到底是詐尸還是另有隱情讥蔽,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布画机,位于F島的核電站冶伞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏步氏。R本人自食惡果不足惜响禽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荚醒。 院中可真熱鬧芋类,春花似錦、人聲如沸腌且。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铺董。三九已至巫击,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間精续,已是汗流浹背坝锰。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留重付,地道東北人顷级。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像确垫,于是被迫代替她去往敵國(guó)和親弓颈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容