jmeter響應斷言


jmeter提供了很多種斷言,本文我就介紹下我們經常使用的響應斷言!

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

(1)、應用范圍Apply to : Main sample and sub-samples,Main sample only , Sub-samples only ,Jmeter Variable 一共4種

   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

    HTTP/1.1 200 Ok

    HTTP/1.1 302 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 :請求頭信息,例如    

    Accept:text/plain, */*; q=0.01
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:zh-CN,zh;q=0.8
    Connection:keep-alive
    Cookie:XXX
    Host:www.baidu.com
    Referer:https://www.baidu.com/
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
    X-Requested-With:XMLHttpRequest

(3)、模式匹配規則    包括、匹配、Equals、Substring、否、或者
       a、包括:返回結果包括你指定的內容,支持正則匹配    
    例如:
    響應字段為: 響應文本
    模式匹配規則:匹配
    斷言為:1、success    2、[a-z]+
    當返回值為:{"msg":"login success."} , 這兩個斷言都是ok的,返回true
    b、匹配:   
      (1) 相當於 equals 。當返回值固定時,可以返回值做斷言,效果和equals相同
      (2) 正則匹配 。 用正則表達式匹配返回結果,但必須全部匹配。 即正則表達式必須能匹配整個返回值,而不是返回值的一部分。
      例如:
      響應字段為: 響應文本
      模式匹配規則:匹配
      斷言為:1、{"msg":"login success."}    2、\{"msg":"[a-z]+ success\."\}  , 3、[a-z]+
      當返回值為:{"msg":"login success."}   ,斷言1 2 是ok的, 斷言3是false
      原因是,斷言1 只能用於equals,而斷言3 只匹配了返回值部分,而不是全部匹配。
    c、Equals : 返回結果與你指定斷言完全一致
    d、SubString:與 “包括”差不多,都是指返回結果包括你指定的內容,但是subString不支持正則字符串
      例如:
      響應字段為: 響應文本
      模式匹配規則:匹配
      斷言為:1、success    2、[a-z]+
      當返回值為:{"msg":"login success."} , 斷言1返回true, 但斷言2返回false
    e、否:就相當於取反。 如果上面斷言結果為true,勾選“否”后,最終斷言結果為false。如果上面斷言結果為false,勾選“否”后,則最終斷言結果為 true。

    f、或者:這個我目前還不清楚 我基本不用


免責聲明!

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



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