一、添加響應(yīng)斷言
選中需要進(jìn)行斷言的Sampler,右鍵添加 “斷言” → “響應(yīng)斷言”。參數(shù)配置如下:
適用于:
1沉御、僅主樣本 - 僅適用于主樣本
2、僅子采樣 - 僅適用于子采樣
3昭灵、主樣本和子樣本 - 適用于兩者吠裆。
4、要使用的JMeter變量名稱 - 斷言將應(yīng)用于指定變量的內(nèi)容烂完。(试疙??抠蚣?)
要測試的字段:
1祝旷、文本響應(yīng) - 來自服務(wù)器的響應(yīng)文本,即正文,不包括任何HTTP標(biāo)頭怀跛。對應(yīng) “查看結(jié)果樹” 中 “響應(yīng)數(shù)據(jù)” 的內(nèi)容距贷。
2、響應(yīng)代碼 - 例如200吻谋。對應(yīng) “查看結(jié)果樹” 中的 “取樣器結(jié)果”→“Response code” 忠蝗。
3、響應(yīng)信息 - 例如OK漓拾。對應(yīng) “查看結(jié)果樹” 中的 “取樣器結(jié)果”→“Response message” 阁最。
4、Response Headers - 包括Set-Cookie頭(如果有的話)骇两。對應(yīng) “查看結(jié)果樹” 中的 “取樣器結(jié)果”→“Response headers”速种。
5、Request Headers - 對應(yīng) “查看結(jié)果樹” 中的 “請求”→“Request Headers”脯颜。
6被碗、URL樣本 - 當(dāng)前請求的URL驳阎。對應(yīng)“查看結(jié)果樹” 中的 “請求”→ HTTP請求方法后跟著的URL。
7渗柿、Document(text) - 通過Apache Tika從各種類型的文檔中提取文本(請參閱查看結(jié)果樹文檔視圖部分)饱亮。
8矾芙、Request Data - 發(fā)送到服務(wù)器的請求文本,即正文近上,不包括任何HTTP標(biāo)頭剔宪。對應(yīng) “查看結(jié)果樹” 中的 “響應(yīng)數(shù)據(jù)” → “POST data” / “GET data” 。
9壹无、Ignore Status - 樣本的總體成功取決于斷言結(jié)果與現(xiàn)有的響應(yīng)狀態(tài)的結(jié)合葱绒。當(dāng)選擇 “Ignore Status” 復(fù)選框時,響應(yīng)狀態(tài)被強(qiáng)制成功斗锭,再進(jìn)行本次斷言評估地淀。(具有4xx和5xx范圍內(nèi)的狀態(tài)的HTTP響應(yīng)通常被認(rèn)為不成功。執(zhí)行進(jìn)一步檢查之前岖是,可以使用“ 忽略狀態(tài) ”復(fù)選框來設(shè)置狀態(tài)帮毁。請注意,這將會清除以前斷言失敗的效果豺撑,因此請確绷揖危“ 忽略狀態(tài)”復(fù)選框僅用于第一個斷言。)
模式匹配規(guī)則:
1聪轿、包括 - 如果文本包含正則表達(dá)式模式爷肝,則為true
2、匹配 - 如果整個文本與正則表達(dá)式模式匹配,則為true
3阶剑、Equals - 如果整個文本等于模式字符串跃巡,則為true(區(qū)分大小寫)
4、Substring - 如果文本包含模式字符串牧愁,則為true(區(qū)分大小寫)
5素邪、否 - 反轉(zhuǎn)檢查結(jié)果,用于表示不包含猪半,不匹配兔朦,不等于,沒有和模式字符串相匹配的Substring磨确。
6沽甥、或者 - 一個斷言可以添加多個“要測試的模式”。使用OR選項(xiàng)后乏奥,只要其中有1個模式匹配摆舟,斷言將會成功。不選擇“OR”時將默認(rèn)為AND選項(xiàng)邓了,必須所有模式都匹配恨诱,斷言才會成功。
注意:
1骗炉、“Equals” 和 “Substring” 模式是純字符串照宝,而不是正則表達(dá)式。
2句葵、“匹配” 和 “Equals” 要完全等于模式字符串厕鹃,或者模式字符串的正則表達(dá)式形式。
3乍丈、“包含” 和 “Substring” 只需要包含有模式字符串剂碴,或者模式字符串的正則表達(dá)式形式,而不必完全相等轻专。
4忆矛、正則表達(dá)式中可以傳入?yún)?shù),如驗(yàn)證登錄成功后的用戶路徑铭若,傳入用戶名${user}洪碳。
<a href="/user/${user}" class="model-link inside inverse"><b>.*</b></a>
注意模式字符串不要包含正則表達(dá)式的定界分隔符“/”, i.e. 表達(dá)式應(yīng)該寫為“Price: \d+”,而不是“/Price: \d+/”叼屠,否則會報(bào)錯瞳腌。更多關(guān)于正則表達(dá)式的說明見用戶手冊Response_Assertion:http://jmeter.apache.org/usermanual/component_reference.html#Response_Assertion
5、因?yàn)榇笮懨舾性斐身憫?yīng)失敗镜雨,如果被匹配的字符串不需要關(guān)注大小寫嫂侍,則可以降低匹配級別,類似降到“包括”、“匹配”的級別挑宠,這樣可以響應(yīng)成功菲盾。
要測試的模式:
要測試的模式列表。默認(rèn)每種模式都單獨(dú)測試各淀,如果模式失敗懒鉴,則不會檢查更多模式。與 “模式匹配規(guī)則” 的 “或者” 搭配時碎浇,可以實(shí)現(xiàn) “或” 邏輯临谱。
二、查看斷言結(jié)果
一奴璃、添加 “斷言結(jié)果” 監(jiān)聽器悉默,運(yùn)行腳本后看可以在這里看到所有請求的斷言結(jié)果。
如果失敗苟穆,將顯示失敗的斷言信息抄课。
如果成功,則只顯示請求的信息:
二跟磨、在“查看結(jié)果樹” 中,也可以看到斷言的結(jié)果岭辣。