[Jmeter學習筆記3]實現對http請求返回值中的json數組長度判斷大小


背景:為實現對app的banner接口的回歸,數據由運營配置,斷言時不好直接對數據內容進行判斷,所以選擇對banner數量進行校驗。返回值為json格式,所以Jmeter中需要實現獲取json數組的長度,並進行判斷。

一、實現獲取返回值中json數組的長度,采用JsonPathExtrator插件來實現

首先去下載 JsonPathExtrator,下載地址,此處是直接下載Jmeter的插件管理器,下載后放在lib/ext目錄下,然后重啟jmeter,在options多了一個菜單plugins manager,點擊打開插件管理器,切換到avaliable plugins,搜索json,勾選下方出現的JSON/YAML plugins,然后點擊右下角apply changes and restart jmeter,等下載好后會自動重啟

重啟之后如圖新建一個json path extrator,

Destination Variable Name:變量命名,bannerLength。會放到jmeter全局變量vars中,后續隨時可取出來用

JSONPath Ecpression:json表達式,值$.result.banner.length(),此處$為整個返回值json體

Default Value:當json返回體中未取到值時取默認值

二、實現對全局變量中的長度做數據大小對比。

這里查了jmeter全部斷言類型,沒有可判斷大小的,都是包含,等於等比較類型,唯一一個size assertion是對byte做大小判斷,不符合我的需求。於是還是得采用代碼來,最后選擇使用beanshell assertion。

新建一個bean shell assertion,代碼如下,從全局變量中取出來的值是string類型,需要先轉一下int。此處我需要校驗長度大於1,即保證banner至少有2條則為正常。

Integer bannerLen = Integer.parseInt(vars.get("bannerLenth"));
if(bannerLen>1){
	log.info("banner數量超過2條,測試通過");
}else{
	Failure = true;
	log.info("banner數量少於2條,請手動查看!");
}

  

三、運行結果:

  1、察看結果數:

    通過:

    

    不通過:  

    

  2、查看日志

    打開日志面板:菜單欄:選項->logViewer

    

    代碼中,將需要查看的參數打到日志中:log.info("xxxxx");    運行之后即可查看結果

    通過:  

    

    不通過:

    


免責聲明!

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



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