1. 程式人生 > >九:給請求加斷言

九:給請求加斷言

enc .org ref assertion cnblogs sample display lin manual

參考:http://jmeter.apache.org/usermanual/component_reference.html#assertions

背景

在測試過程中,我們需要對某個請求的結果進行判定。

比如我們搜索“你好”,請求發送成功,返回響應碼也是200,但是並不能說明返回的響應就是對的,我們可能還需要判定響應結果包含“你好”。這個時候,我們就需要用到Assertion。

Web測試常用的斷言

Response Assertion:對Web請求響應結果進行驗證。

Duration Assertion:判斷是否在給定的時間內收到響應結果。

Size Assertion:判斷響應結果是否包含正確數量的byte。可以定義等於、大於、小於或者不等於等等。

技術分享

添加斷言示例

1. 添加斷言

添加方法:在需要驗證結果的Sampler上右鍵,Add –> Assertions –> Response Assertion

下圖就表示響應文本包含 hello 就算Pass。

技術分享

Apply to : 需要應用斷言的部分。

Response Field to Test:需要驗證的響應部分。

Text Response:從服務器返回的響應文本。不包括 HTTP Header。

Response Code:響應碼。比如 200.

Response Message:響應信息。比如 OK。

Pattern Matching Rules:匹配規則。

Contains:上面選中的部分包含下面的正則表達式就算Pass

Matches:上面選中的整個部分匹配下面的正則表達式就算Pass。

Equals:上面選中的整個部分和下面的字符串相等就算Pass。不支持正則表達式,同時對大小寫敏感。

Substring:上面選中的部分包含下面的字符串就算Pass。不支持正則表達式,同時對大小寫敏感。

Not:勾選上之後,會對前面選擇的進行反轉。比如Matches + Not 就是不匹配就算Pass。

Patterns to Test:需要匹配的正則表達式或字符串。這裏可以添加多項。每一項會分開進行驗證。如果一條驗證失敗,後邊的不會再進行驗證。

技術分享

按照上面的方法,我們在 search_你好請求的結果加上斷言:你好fsdlgggg。這樣斷言結果應該是Fail的。

技術分享

在 search_helloworld請求結果加上斷言:hello。這樣斷言結果應該是Pass的。

2. 添加監聽

在Thread Group 上右鍵 , Add –> Listeners –> Assertion Results。

3. 運行

點擊運行按鈕運行測試計劃。

4. 查看結果

技術分享

可以看到 search_你好 顯示為紅色感嘆號,同時點開有 Response Assertion 。點擊 Response Assertion 可以看到具體內容。

search_helloworld 則是綠色的通過。

技術分享

在 Assertion Results 監聽裏面,可以看到所有監聽的情況。

九:給請求加斷言