(jmeter內置可調用的變量)jmeter beanShell斷言


用戶可以在jmeter- “beanShell斷言”中自定義斷言。自由靈活的用腳本實現自己的斷言  
beanShell斷言接口介紹  
在beanShell中直接可以調用的變量,無需加前綴。  
1.log 打印日志 log.info(“在控制台打印日志”);  
2.SampleResult 獲取SampleResult對象,可以通過這個對象獲取想要的信息  
3.Response 獲取Response對象,可以通過這個對象獲取對應的信息  
4.Failure 查看接口調用是否成功,如果返回false是成功的,true是失敗的  
5.FailureMessage 失敗信息,沒有設置的時候失敗信息是空的。可以set這個信息  
6.ResponseData 獲取 response body,類型是byte[]  
7.ResponseCode 返回接口code,成功是200  
8.ResponseMessage 獲取msg,成功是OK  
9.ResponseHeaders 獲取接口服務端返回的頭部信息  
10.RequestHeaders 獲取客戶端請求的頭部信息  
11.SampleLabel 獲取接口請求的名稱  
12.SamplerData 獲取請求的url和body  
13.ctx 代表上下文信息,可以直接使用  
14.vars 可以直接調用,將獲取的數據變成jmeter變量(put),也可以獲取用戶自定義的變量(get)  
eg:  
1.在http sample下添加一個beanShell斷言  
2.編寫script  
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();//獲取接口返回的response數據  
JSONObject data_obj = new JSONObject(response_data);//轉換成json  
//判斷code是否等於0 如果等於0 再取里面的字段  
String code = data_obj.get(“code”);  
if(code.equals(“0”))  
 
String user_name = data_obj.get(“data”).get(“user”).get(“userName”).toString();  
//這里的my_name 是用戶自定義的變量或者之前的接口返回獲取的  
if(user_name.equals(${my_name})){  
Failure = false; //設置成false 表示接口跑成功,在結果樹中sample是綠色的  
//做后續動作  
…….  
 
else{  
//做其他動作  
 
 
else  
 
Failure = true;//直接判斷失敗,表示接口跑失敗,在結果樹中sample是紅色的  
prev.setStopThread(true);//如果斷言失敗,后面的接口不需要再跑,直接暫停  
} 


免責聲明!

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



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