Jmeter接口之響應斷言詳解


響應斷言 :

對服務器的響應進行斷言校驗

Apply to

應用范圍: main sample and sub sample, main sample only , sub-sample only , jmeter variable

關於應用范圍,我們大多數勾選“main sample only” 就足夠了,因為我們一個請求,實質上只有一個請求。但是當我們發一個請求時,可以觸發多個服務器請求,類似於ajax那種,那么就有main sample 和 sub-sample之分了。此外,對於有重定向的請求,並且勾選了“跟隨重定向”, 那么這兩個請求都是 sub-sample,重定向后的請求(第二個請求)就是main-sample,關於main sample and sub sample,有興趣的可以看看這個帖子:帖子

響應字段

應用范圍:響應文本,Document(Text),url樣本,響應代碼,響應信息,Response Header,ignore status

  • 響應文本: 服務器響應文本,一般普通http響應,都勾選這個。

  • Document(Text):一切Apache Tika 支持服務器響應,包括文本響應,還支持 PDF, Office, Audio, Video formats。jmeter會用Apache Tika 去解析服務器響應內容,會很耗內存,而且也很容易解析失敗。所以一般普通http請求,不要選擇這個。

  • url樣本:是對sample的url進行斷言。如果請求沒有重定向(302),那么就是這個就是請求url。 如果有重定向(且跟隨重定向),那么url就包含請求url 和 重定向url

  • 響應代碼:http響應代碼,如101,200,302,404,501等。但當我們要驗證404,501等http響應代碼時,需要勾選“ ignore status”。因為當http 響應代碼為400,500時,jmeter默認這個請求時失敗的。

  • 響應信息:http響應代碼對應的響應信息,例如:OK, Found

    HTTP/1.1 200 Ok   
    HTTP/1.1 302 Found
    
  • Response Header : 響應頭信息,例如

    Server: Tengine
    Date: Thu, 12 Mar 2015 09:43:52 GMT
    Content-Type: text/html
    Content-Length: 260
    Connection: close
    Location: http://www.baidu.com/404.html
    

模式匹配規則

大專欄   Jmeter接口之響應斷言詳解3 id="包括:返回結果包括你指定的內容,支持正則匹配"> 包括:返回結果包括你指定的內容,支持正則匹配
  例如:
  響應字段為: 響應文本
  模式匹配規則:匹配
  斷言為:1、invalid    2、[a-z]+
  當返回值為:{"msg":"channel invalid."} , 這兩個斷言都是ok的,返回true

匹配:

(1) 相當於 equals 。當返回值固定時,可以返回值做斷言,效果和equals相同

(2) 正則匹配 。 用正則表達式匹配返回結果,但必須全部匹配。 即正則表達式必須能匹配整個返回值,而不是返回值的一部分。

  例如:
  響應字段為: 響應文本
  模式匹配規則:匹配
  斷言為:1、{"msg":"channel invalid."}   2、{"msg":"[a-z]+ invalid."}  , 3、[a-z]+
  當返回值為:{"msg":"channel invalid."}   ,斷言1 2 是ok的, 斷言3是false
  當返回值為:{"msg":"channel invalid."} , 斷言1 3是false, 斷言2才是ok的。
  原因是,斷言1 只能用於equals,而斷言3 只匹配了返回值部分,而不是全部匹配。

Equals : 返回結果與你指定斷言完全一致

SubString:與 “包括”差不多,都是指返回結果包括你指定的內容,但是subString不支持正則字符串

  例如:
  響應字段為: 響應文本
  模式匹配規則:匹配
  斷言為:1、invalid    2、[a-z]+
  當返回值為:{"msg":"channel invalid."} , 斷言1返回true, 但斷言2返回false
  否:就相當於取反。 如果上面斷言結果為true,勾選“否”后,最終斷言結果為false。如果上面斷言結果為false,勾選“否”后,則最終斷言結果為 true。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM