jmeter響應斷言

2022-03-25 10:28:16 字數 2145 閱讀 3554

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...