Jmeter(三十九)_Beanshell腳本斷言Mock接口


我們在做接口斷言的時候,如果遇到復雜的json,可以考慮用beanshell腳本去解析list,同時加入自定義的斷言

Mock例:https://www.easy-mock.com/mock/5cb46739edfdac7de69fe792/example/provider

 

如圖所示,我們在json返回中有name和remark字段,希望斷言remark和name的返回值。如果斷言失敗,拋出自定義的異常信息

我們在mock接口下添加一個后置處理器的beanshell

beanshell中寫斷言腳本

import org.apache.jmeter.assertions; 
import org.apache.jmeter.samplers.SampleResult; 
import org.apache.jmeter.assertions.AssertionResult; 
import org.json.*;
String response_data = prev.getResponseDataAsString();
JSONObject data_obj = new JSONObject(response_data);
log.info(response_data);
String code = data_obj.get("remark"); 
log.info(code);
if(code.equals("接口測試服務商")) 
{ 
String user_name = data_obj.get("dockedContact").get("name").toString(); 
if(user_name.equals("zhufc")){ 
Failure = true; 
log.info(user_name);
log.info("提取值與預期相符,斷言通過");
FailureMessage = "斷言通過";
} 
else{ 
Failure = false;
log.info("名稱不同,斷言失敗");
FailureMessage = "斷言失敗";
prev.setStopThread(true);
} 
}

 

日志等級調整為info

 

 

啟動腳本,打開log,查看結果

 


免責聲明!

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



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