在使用JMeter進行性能測試或者接口自動化測試工作中,經常會用到的一個功能,就是斷言,斷言相當於檢查點,它是用來判斷系統返回的響應結果是否正確,以此幫我們判斷測試是否通過
本文 主要介紹幾種常用的斷言:響應斷言、JSON斷言、BeanShell 斷言
一、響應斷言
- 響應斷言是最常用的一種斷言方法,它可以對各種返回類型的結果進行斷言,比如Test、html、application/json等
- 在需要進行斷言的Sample,點擊右鍵》添加》斷言》響應斷言
- Apply to選項默認即可,Main sample only(僅作用於父節點取樣器)
- 測試字段常用的有響應文本(對響應結果進行斷言)、響應頭(對響應頭文件進行斷言)
- 模式匹配規則常用有包括(響應結果包括斷言的內容),相等(響應結果和斷言結果相同)
- 測試模式可以添加你需要斷言的部分,如果是包括,就可以添加多個
- 執行測試,斷言通過則顯示綠色
- 把斷言改成響應結果不存在的字段,執行結果,顯示紅色,斷言結果顯示系統響應結果不包含“測試斷言”字段
二、JSON斷言
- JSON斷言也是測試工作中經常用到的一種斷言方法,它只能針對響應結果是applicaton/json格式的請求進行斷言
- 在需要進行斷言的Sample,點擊右鍵》添加》斷言》JSON斷言
- 我們使用json斷言,一般是斷言某個字段值是否返回的是我們需要的,所以需要寫JSON PATH(不會寫的看本人另外一篇文章有介紹如何寫),下圖使用正則模式匹配返回的結果包含40就認爲響應結果滿足要求,斷言配置和響應結果如下所示:
- 下面展示斷言結果爲常量時,如何進行斷言設置,如下圖所示
三、BeanShell斷言
- BeanShell斷言支持各種開發語言,本文介紹使用java編寫斷言,使用BeanShell斷言的好處是可以自由發揮,比如當斷言失敗,提示預期結果、實際結果,或者失敗時把結果輸出到日誌
- 在需要進行斷言的Sample,點擊右鍵》添加》斷言》BeanShell斷言
-
如果使用包含匹配,只需要修改預期結果即可,預期結果需要寫在雙引號之間,中間的雙引號需要添加\轉義,如下:
- 使用完全相等匹配,並且失敗時,輸出結果到日誌,本次把預期結果改錯,所以會輸出響應結果到錯誤日誌,代碼如下:
如果文章對你有幫助,歡×××同步,方便大家查閱,本人會持續推出與測試有關的文章,與大家分享測試技術,每一篇原創文章都是用心編寫,杜絕抄襲複製
QQ技術交流羣:加羣請輸入驗證信息 51CTO
**微信二×××
*×××資源下載,即可獲取本人共享的各種資源下載地址**