Jmeter——BeanShell 內置變量vars、props、prev的使用( 二 )

getProperty方法聲明public String getProperty(String key)
public String getProperty(String key, String defaultValue):當 key 不存在則返回默認值
功能用指定的key在此屬性列表中搜索屬性,如果在此屬性列表中未找到該key,則接著遞歸檢查默認屬性列表及其默認值 。如果未找到屬性,則此方法返回 null
timeFormat = props.getProperty("jmeter.save.saveservice.timestamp_format");log.info("timeFormat:"+ timeFormat);propsTest = props.getProperty("jmeter.save.saveservice.timestamp");log.info("propsTest:"+ propsTest);propsTest = props.getProperty("jmeter.save.saveservice.timestamp","溫一壺清酒 博客園");log.info("propsTest:"+ propsTest);

Jmeter——BeanShell 內置變量vars、props、prev的使用

文章插圖
get方法聲明public synchronized V get(Object key)
功能獲取屬性值,跟 getProperty 類似
pTimeFormat = props.get("jmeter.save.saveservice.timestamp_format");log.info("pTimeFormat:"+ pTimeFormat);pPropsTest = props.get("jmeter.save.saveservice.timestamp");log.info("pPropsTest:"+ pPropsTest);setProperty方法聲明public Object setProperty(String key,String value)
功能設置屬性值
props.setProperty("pName","溫一壺清酒");propsName = props.getProperty("pName");log.info("propsName:"+ propsName);
Jmeter——BeanShell 內置變量vars、props、prev的使用

文章插圖
put方法聲明public synchronized V put(Object key)
功能設置屬性值,跟 setProperty 類似
props.put("pName","溫一壺清酒");pPropsName = props.get("pName");log.info("pPropsName:"+ pPropsName);propertyNames方法聲明public Enumeration<?> propertyNames()
功能返回屬性列表中所有key的枚舉,如果在主屬性列表中未找到同名的key,則包括默認屬性列表中不同的key
propsNames = props.propertyNames();propsNames.each{ log.info(it) }
Jmeter——BeanShell 內置變量vars、props、prev的使用

文章插圖
size方法聲明public int size()
功能返回有多少個屬性
pPropsCount = props.size();log.info("pPropsCount:"+ pPropsCount);
Jmeter——BeanShell 內置變量vars、props、prev的使用

文章插圖
remove方法聲明public synchronized V remove(Object key)
功能刪除一個變量,并返回變量的值,若變量不存在則返回 null
props.put("pName","溫一壺清酒");rName = props.remove("pName");log.info("rName:"+ rName);rSex = props.remove("sex");log.info("rSex:"+ rSex);
Jmeter——BeanShell 內置變量vars、props、prev的使用

文章插圖
prevprev 提供對當前取樣器結果的訪問能力,映射 org.apache.jmeter.samplers 的 SampleResult 類官方文檔: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
getResponseCode方法聲明public String getResponseCode()
功能獲取響應狀態碼
responseCode = prev.getResponseCode() ;log.info("responseCode:" + responseCode);2022-10-04 15:34:29,057 INFO o.a.j.u.BeanShellTestElement: responseCode:200isResponseCodeOK方法聲明public boolean isResponseCodeOK()
功能判斷響應狀態碼是否為OK對應的狀態碼(200),結果只有true和false
responseCodeBoolean = prev.isResponseCodeOK();log.info("responseCodeBoolean:" + responseCodeBoolean);2022-10-04 15:36:35,077 INFO o.a.j.u.BeanShellTestElement: responseCodeBoolean:truegetThreadName方法聲明public String getThreadName()
功能獲取線程名
prevThreadName = prev.getThreadName();log.info("prevThreadName:" + prevThreadName);2022-10-04 15:39:17,955 INFO o.a.j.u.BeanShellTestElement: prevThreadName:prevThreadNamegetResponseDataAsString方法聲明public String getResponseDataAsString()
功能獲取String類型的響應結果
prevResponse = prev.getResponseDataAsString();log.info("prevResponse:" + prevResponse);getStartTime獲取請求開始時間
getEndTime獲取請求結束時間
getSamplerData獲取請求內容
好了,以上就是平時經常用到的一些內置變量的方法,還有其他的方法,可以參考源碼或官方文檔 。
【Jmeter——BeanShell 內置變量vars、props、prev的使用】

推薦閱讀