JMeter學習(十四)jmeter_斷言使用


先說一下使用斷言的目的:在request的返回層面增加一層判斷機制。因為request成功了,並不代表結果一定正確。類似於QTP中的檢查點檢查點。斷言的使用方法:

step_1:在你選擇的Sampler下添加對應的斷言(因為不同類型的斷言檢查的內容不同)。配置好響應的檢查內容(根據斷言情況而定,有的斷言控制面板不需要添加任何內容,如XML Assertion)。

step_2:添加一個斷言結果的監聽器(從監聽器中添加),通過“斷言結果”可以看到是否通過斷言。對於一次請求,如果通過的話,斷言結果中只會打印一行請求的名稱;如果失敗,則除了請求的名稱外,還會有一行失敗的原因。(不同類型的斷言,結果不同。)

注意:一個Sampler可以添加多個斷言,根據你的檢查需求來添加相應的斷言,當Sampler下所有的斷言都通過了,那么才算request成功。

下面簡單說一下幾種斷言的使用(前3種應該較為常用一點):

 

1、Response Assertion(響應斷言)

 

適用於判斷返回內容中的內容,控制面板截圖如下:

 

 

 

位置1:名稱、注釋

位置2:要測試的相應字段,即要檢查的項

位置3:模式匹配規則

  • 包括:返回結果包括你指定的內容
  • 匹配:(好像跟Equals查不多,弄不明白有什么區別)
  • Equals:返回結果與你指定結果一致
  • Substring:返回結果是指定結果的字串

否:不進行匹配

位置4:要測試的模式,即填寫你指定的結果(可填寫多個,如圖中就是希望返回文本中包含有2個指定的字符串,只有當同時包含了這2個串,這個斷言才算通過,否則,算失敗。)按鈕【添加】、【刪除】是進行指定內容的管理

 

 

2、Size Assertion(Size斷言)

 

 

Size Assertion用於判斷返回內容的大小,Size Assertion控制面板截圖如下:

 

 

 

位置1:名稱、注釋

位置2:指定大小(單位:字節)與比較類型,返回內容的大小、比較類型、指定字節大小的比較時的擺放順序是:【返回內容的大小】【比較類型】【指定字節大小】,如果這個比較結果通過,則斷言通過,如圖中,如果返回內容的大小大於10個字節,則斷言通過,否則失敗。

 

 

3、Duration Assertion(Size斷言)

 

Duration Assertion用於判斷服務器的響應時間,控制面板截圖如下:

 

 

位置1:名稱、注釋

位置2:響應時間設置(單位:毫秒),如果響應時間大於設置的響應時間,則斷言失敗,否則成功!(等於的情況不好設置,暫不知道具體情況如何)

 

 

4、HTML Assertion(HTML斷言)

 

 

html assertion的作用是檢查返回的的內容,格式是否符合指定格式的相關標准。具體見下面說明。HTML Assertion的控制面板如下:

 

 

位置1:名稱、注釋

位置2Tidy SettingsDoctypeautoomitstrictloose(這里各設置代表什么意思暫不太了解)

位置3:格式類型,即你按那種格式來檢查返回內容,html or xhtml or xml

位置4:能接受的最大值設置,Error threshold:最大可以接受的錯誤數;Warning threshold:最大可以接受的警告數。如果勾選“Error only”這忽略Warning,只對Error作統計檢查。如果對返回內容的檢查結果不超過指定結果,則斷言通過,否則失敗。

 

 

5、XML Assertion(XML斷言)

 

 

就目前的理解來看XML Assertion的作用是判斷返回結果是否否和xml的格式即<></>成對出現。(不知這樣理解對不對?如果是這樣的話,這個在HTML中,設置FormatXML就可以實現了,為什么還需要這個呢?XML Assertion控制面板截圖如下:

 

 

 

從控制面板上可以看出,XML Assertion不需要設置任何內容。

在使用XML Assertion的過程中,遇到一個問題,弄不明白,問題貼在這里,希望路過的朋友,如果知道的話,幫忙解答一下:

Jmeter中添加xml assertion

斷言結果:Error on line 1: The element type "Detail" must be terminated by the matching end-tag "</Detail>".

但實際請求返回結果:

<?xml version="1.0" encoding="UTF-8"?><Info><Country>中國</Country><Province>未知</Province><City>未知</City><Type>大學</Type><ISP>教育網</ISP><Detail>中國教育網</Detail></Info>

問題:<Detail></Detail>是成對的,斷言那邊怎么會過不去?

 

以上參考:

1http://www.51testing.com/html/75/n-97675.html

2http://jakarta.apache.org/jmeter/usermanual/component_reference.html#XML_Assertion


免責聲明!

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



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