(jmeter内置可调用的变量)jmeter beanShell断言
用戶可以在jmeter- “beanShell斷言”中自定義斷言。自由靈活的用腳本實現(xiàn)自己的斷言??
beanShell斷言接口介紹??
在beanShell中直接可以調(diào)用的變量,無需加前綴。??
1.log 打印日志 log.info(“在控制臺打印日志”);??
2.SampleResult 獲取SampleResult對象,可以通過這個對象獲取想要的信息??
3.Response 獲取Response對象,可以通過這個對象獲取對應(yīng)的信息??
4.Failure 查看接口調(diào)用是否成功,如果返回false是成功的,true是失敗的??
5.FailureMessage 失敗信息,沒有設(shè)置的時候失敗信息是空的。可以set這個信息??
6.ResponseData?獲取 response body,類型是byte[]??
7.ResponseCode 返回接口code,成功是200??
8.ResponseMessage 獲取msg,成功是OK??
9.ResponseHeaders 獲取接口服務(wù)端返回的頭部信息??
10.RequestHeaders 獲取客戶端請求的頭部信息??
11.SampleLabel 獲取接口請求的名稱??
12.SamplerData 獲取請求的url和body??
13.ctx 代表上下文信息,可以直接使用??
14.vars 可以直接調(diào)用,將獲取的數(shù)據(jù)變成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數(shù)據(jù)??
JSONObject data_obj = new JSONObject(response_data);//轉(zhuǎn)換成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; //設(shè)置成false 表示接口跑成功,在結(jié)果樹中sample是綠色的??
//做后續(xù)動作??
…….??
}??
else{??
//做其他動作??
}??
}??
else??
{??
Failure = true;//直接判斷失敗,表示接口跑失敗,在結(jié)果樹中sample是紅色的??
prev.setStopThread(true);//如果斷言失敗,后面的接口不需要再跑,直接暫停??
}?
轉(zhuǎn)載于:https://www.cnblogs.com/zgq123456/p/9817606.html
總結(jié)
以上是生活随笔為你收集整理的(jmeter内置可调用的变量)jmeter beanShell断言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: DNA甲基化检测服务
- 下一篇: 限制连接数上涨的几个关键因素
