JMeter—斷言(十一)

Tynam.Yang發表於2018-06-08

參考《全棧效能測試修煉寶典JMeter實戰》第六章 JMeter 元件詳解中第六節斷言
斷言用來對伺服器的響應資料做驗證,常用的斷言是響應斷言,支援正規表示式。


一、BeanShell Assertion
  用來訪問JMeter的屬性:
    log物件,可以利用此物件寫日誌
    SampleResult物件,從中獲取響應資料、響應碼等資訊,只讀
    Respose物件,獲取響應資料,只讀
    Failure,用來設定斷言成功與否,Boolean型別
    FailureMessage,用來設定失敗資訊
    ResponseData物件,湖區響應資料
    ResponseCode,響應碼
    ResponseMessage,響應資訊
    ResponseHeaders,響應投資訊
    RequestHeaders,請求頭資訊
    SampleLabel,取樣器Label資訊
    SamplerData,傳送給伺服器的資料
    Ctx (JMeterContext),JMeter上下文資訊,從中可以獲取執行緒數、執行緒號等資訊
    Vars(JMeterVariables),獲取JMeter中定義的變數,或者設定變數
   (JMeterPoperties),獲取JMeter中的屬性,或者設定屬性
  其他幾個方法:
    getResponseDataAsString:從SampleResult獲取響應資料
    getResponseCode:從SampleResult獲取響應訊息
    getResponseMessage:從SampleResult獲取響應訊息


二、Compare Assertion
     比較斷言,用來比較兩次取樣結果,支援正規表示式過濾。一般不建議使用,因為會消耗較多的資源,常用來除錯。Compare Assertion與Cpmparison    Assertion Visualizer結合使用,前者進行設定,後者進行斷言結果顯示。


三、HTML Assertion
  HTML斷言可以對HTML程式碼內容進行斷言,支援XHTML和XML。
  在HTML斷言中利用JTidy來解析HTML程式碼,JTidy是HTML Tidy的Java實現版本,提供了HTML的語法檢查器。JTidy可以用來清除格式不好喝不對的HTML,還提供對整個HTML的DOM分析。


四、Size Assertion
  驗證響應資料Size大小,主要引數說明:
    Apply to:斷言應用範圍
    Main sample and sub-samples:斷言部分包括主Sample與子Sample
    Main sample only:斷言部分僅僅是主Sample
    Sub-samples only:斷言部分僅僅是子sample
    JMeter Variable:斷言部分是JMeter變數
    Response Size Field to Test:那部分響應域參與斷言
    Full Response:全部響應資訊
    Response Headers:響應頭資訊,比如Http協議的頭資訊
    Response Body:響應主體內容部分,比如http協議HTML程式碼中的Body部分
    響應程式碼:響應程式碼
    響應資訊:響應資訊
    Size to Assert:斷言時Size的閾值設定


五、XML Schema Assertion
  XML Schema,可擴充套件標記語言架構師以可擴充套件標記語言(標準通用標記語言的子集)為基礎的,它用於可替代文件型別定義,一份XML schema檔案描述了可擴充套件標記語言文件的結構。作用是定義一份XML文件的合法組建群,就像文件型別定義的作用一樣,一份XML Schema定義:
    可以出現在文件裡的元素
    可以出現在文件裡的屬性
    哪些元素是子元素
    子元素的順序
    子元素的數量
    一個元素是否能包含文字,或應該是空的
    元素和屬性的資料型別
    元素和屬性的預設值和固定值


六、XML Assertion
  用來驗證響應資料是正確的XML格式。


七、XPath Assertion
  對返回的XML格式資訊進行斷言


八、Duration Assertion
  持續時間斷言,驗證取樣器執行測試消耗掉的時間,可以針對取樣器與子取樣器,時間單位是毫秒


九、響應斷言
  判斷返回內容中內容

十、其他斷言元件
  SMIME Assertion
    對加密和簽名的郵件進行斷言
 

  MD5Hex
    對返回的MD5結果進行斷言,使用簡單,直接跳入MD5值

  JSR223斷言
    規範請求,是指向JCP提出心中一個標準化技術規範的正式請求

 

相關文章