Jmeter小試牛刀-響應斷言與BeanShell斷言

一、響應斷言

可根據(jù)要測試的響應字段和模式匹配規(guī)則來設置斷言,判斷接口返回值是否正確。

1.運行一個登錄的http請求,查看響應數(shù)據(jù):

2.添加響應斷言

勾選,輸入相關信息??(測試字段與輸入的參數(shù)要是對應的)

一個斷言:

一個斷言

多個斷言,但必須同時滿足,才算斷言成功:

多個斷言,但必須同時滿足,才算斷言成功

勾選"或",多個斷言,滿足一個即成功:

勾選"或",多個斷言,滿足一個即成功

① 測試字段:

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

響應代碼: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?

響應頭:例如

? ? ? ? ? ? ? ? ? ? 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

文檔(文本):一般普通http請求,不要選擇這個。

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

② 模式匹配規(guī)則:

包括:返回結果包括你指定的內(nèi)容,支持正則匹配

例如:

  測試字段為: 響應文本

? ? ?模式匹配規(guī)則:包括

? ? ?斷言為:1、invalid ? ?2、[a-z]+

當返回值為:{"msg":"channel invalid."} , 這兩個斷言都是ok的,返回true

備注:[a-z] 表示匹配 26 個小寫字母中的任意一個

? ? ? ? ? ?a+ 表示匹配一個或多個 a 字符

? ? ? ? ? ?所以[a-z]+表示一個或多個? 26 個小寫字母中的任意一個 ?

匹配:

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

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

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

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

:就相當于取反。 如果上面斷言結果為true,勾選“否”后,最終斷言結果為false。如果上面斷言結果為false,勾選“否”后,則最終斷言結果為 true。

3.添加斷言結果

斷言結果會記錄 執(zhí)行成功和執(zhí)行失敗的記錄

二. BeanShell斷言

BeanShell斷言可以用于更復雜的個性化需求,使用更靈活,功能更強大

一個簡單示例:

例中的代碼就是判斷響應代碼是不是200,是200即斷言成功;不是200則斷言失敗,輸出報錯信息

不過呢。。這個代碼對我來說有一點局限性,有些值還是不會取。。有沒有更適合我的方法呢?

有!

根據(jù)這個教程Jmeter使用BeanShell 斷言進行判斷受到了啟發(fā)

教程內(nèi)容截圖:

看!這個引用!我可以先用提取器提取要驗證的內(nèi)容,然后引用在代碼里進行驗證

實際應用:

登錄成功時,error_code值為0,若登錄失敗值不為0

用邊界提取器提取error_code的值

引用在代碼里

一個登錄失敗的情況:

不過代碼還是要學起來呀。。(哭)


響應斷言參考教程:

Jmeter斷言實例—響應斷言

jmeter初級-添加斷言(接口測試)

Jmeter 常用斷言使用

Jmeter筆記:響應斷言詳解(有測試字段的詳細說明)

JMeter 檢查點之響應斷言(Response Assertion)(也有測試字段的詳細說明)

?BeanShell斷言參考教程:

https://blog.csdn.net/lijing742180/article/details/81157947

https://blog.51cto.com/14010723/2298911(含BeanShell內(nèi)置變量說明)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 目錄 JMeter(一):基礎概念JMeter(二):配置元件JMeter(三):變量參數(shù)化JMeter(四):監(jiān)...
    倔強的瀟灑小姐閱讀 6,839評論 0 1
  • Jmeter中斷言的類型有許多,首先說下本人測試過程中用到的:響應斷言。 一、響應斷言 一個請求發(fā)出去,怎么判斷執(zhí)...
    心海不浪漫閱讀 2,550評論 0 1
  • jmeter中有個元件叫做斷言(Assertion),它的作用和loadrunner中的檢查點類似; 用于檢查測試...
    maple_若塵閱讀 1,209評論 0 1
  • 關鍵字:斷言、參數(shù)化(傳參、用戶變量、環(huán)境變量) 斷言 響應數(shù)據(jù)顯示不是我們預期的結果,但運行卻顯示正常,這個時候...
    芯W(wǎng)閱讀 1,334評論 0 0
  • 這段時間真的是驚喜不斷,前有復聯(lián)打響指,后有掘金特訓營。 上個月剛剛看完了復聯(lián)4,令人最驚喜的,當然是美國隊長拿雷...
    朱華麟閱讀 360評論 0 3

友情鏈接更多精彩內(nèi)容