jmeter提供了很多種斷言,本文我就介紹下我們經常使用的響應斷言!
響應斷言 :對伺服器的響應進行斷言校驗
a、關於應用範圍,我們大多數勾選「,main sample only」 就足夠了,因為我們乙個請求,實質上只有乙個請求。但是當我們發乙個請求時,可以觸發多個伺服器請求,類似於ajax那種,那麼就有main sample 和 sub-sample之分了
b、此外,對於有重定向的請求,並且勾選了「跟隨重定向」, 那麼這兩個請求都是 sub-sample,重定向後的請求(第二個請求)就是main-sample
關於main sample and sub samples,這裡不做介紹了,有心的同學自己網上查查
(2)、響應字段: 響應文字,響應**,響應資訊,response headers,request headers,url樣本,
document(text),ignore status 一共8種
a、響應文字: 伺服器響應文字,一般普通http響應,都勾選這個
b、響應**:http響應**,如101,200,302,404,501等。但當我們要驗證404,501等http響應**時,需要勾選「 ignore status」。因為當http 響應**為400,500時,jmeter預設這個請求時失敗的
c、響應資訊:http響應**對應的響應資訊,例如:ok, found
d、response headers : 響應頭資訊,例如
cache-control:private
connection:keep-alive
content-encoding:gzip
content-length:84
content-type:text/html;charset=utf-8
date:sun, 23 jul 2017 03:08:43 gmt
expires:sun, 23 jul 2017 03:08:43 gmt
server:bws/1.0
vary:accept-encoding
e、request headers :請求頭資訊,例如
(3)、模式匹配規則 包括、匹配、equals、substring、否、或者
a、包括:返回結果包括你指定的內容,支援正則匹配
例如:響應欄位為: 響應文字
模式匹配規則:匹配
斷言為:1、success 2、[a-z]+
當返回值為: , 這兩個斷言都是ok的,返回true
b、匹配:
(1) 相當於 equals 。當返回值固定時,可以返回值做斷言,效果和equals相同
(2) 正則匹配 。 用正規表示式匹配返回結果,但必須全部匹配。 即正規表示式必須能匹配整個返回值,而不是返回值的一部分。
例如:響應欄位為: 響應文字
模式匹配規則:匹配
斷言為:1、 2、\ , 3、[a-z]+
當返回值為: ,斷言1 2 是ok的, 斷言3是false
原因是,斷言1 只能用於equals,而斷言3 只匹配了返回值部分,而不是全部匹配。
c、equals : 返回結果與你指定斷言完全一致
d、substring:與 「包括」差不多,都是指返回結果包括你指定的內容,但是substring不支援正則字串
例如:響應欄位為: 響應文字
模式匹配規則:匹配
斷言為:1、success 2、[a-z]+
當返回值為: , 斷言1返回true, 但斷言2返回false
e、否:就相當於取反。 如果上面斷言結果為true,勾選「否」後,最終斷言結果為false。如果上面斷言結果為false,勾選「否」後,則最終斷言結果為 true。
f、或者:這個我目前還不清楚 我基本不用
Jmeter斷言 響應斷言
斷言就類似loadrunner中的檢查點。對上乙個請求返回的資訊,做字串 資料報大小 html xml 等做判斷,確保返回的資訊的準確性。jmeter的斷言有好多,下面是乙個響應斷言 新建乙個執行緒組,執行緒組中新增乙個http請求 新增響應斷言 新增 斷言 響應斷言 main sample and...
JMeter斷言 響應斷言
路徑 右鍵取樣器,新增 斷言 響應斷言 注 測試字段 響應 匹配響應 如 http協議返回 200 代表成功。模式匹配規則 包括 contains 包含,可用正則。匹配 match 匹配,可用正則。相等 equals 相等,不能用正則,區分大小寫。字串 substring 也是包含,不能用正則,區分...
Jmeter 響應斷言
ignore status 設定jmeter初始狀態為成功,預設取樣結果的成功與否按照響應狀態的斷言結果來確定,如果勾選ignore status則在斷言之前,強制設定響應狀態為成功。例如我想測試4xx,5xx狀態,但是jmeter預設是認為失敗的,如果我們想要測試,那麼就要勾選此選項,以便讓jme...