如果你想從頭學習Jmeter,可以看看這個系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
前提
BeanShell 有的內置變量,JSR223 也會有對應的變量,這里 JSR223 效率更高,所以以它為栗子
簡單介紹
- prev 提供對當前取樣器結果的訪問能力
- prev 映射 org.apache.jmeter.samplers 的 SampleResult 類
- 官方文檔: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
常用方法
getResponseCode
方法聲明
public String getResponseCode()
功能
獲取響應狀態碼
栗子代碼
sc = prev.getResponseCode() ; log.info('status code is: ' + sc)
isResponseCodeOK
方法聲明
public boolean isResponseCodeOK()
功能
判斷響應狀態碼是否為OK對應的狀態碼(200)
栗子代碼
yn = prev.isResponseCodeOK() log.info('yn is: ' + yn)
返回 true 或 false
getThreadName
方法聲明
public String getThreadName()
功能
獲取線程名
栗子代碼
tname = prev.getThreadName() log.info('tname is: ' + tname)
getAssertionResults
方法聲明
public AssertionResult[] getAssertionResults()
功能
獲取取樣器斷言結果
栗子代碼
ars = prev.getAssertionResults() ars.each{ log.info(it.getName() + ': ' + it.getFailureMessage()) }
getContentType
方法聲明
public String getContentType()
功能
獲取取樣器響應Content-Type首部字段的值域(包含參數)
栗子代碼
ct = prev.getContentType() log.info('ct is: ' + ct)
getMediaType
方法聲明
public String getMediaType()
功能
獲取取樣器響應Media-Type首部字段的值域(不包含參數)
栗子代碼
ct = prev.getMediaType() log.info('ct is: ' + ct)
getSentBytes
方法聲明
public long getSentBytes()
功能
獲取取樣器請求報文的大小
栗子代碼
sb = prev.getSentBytes() log.info('sb is: ' + sb)
getBytesAsLong
方法聲明
public long getBytesAsLong()
功能
獲取取樣器響應報文的大小
栗子代碼
rb = prev.getBytesAsLong() log.info('rb is: ' + rb)
getLatency
方法聲明
public long getLatency()
功能
獲取延遲時間
getConnectTime
方法聲明
public long getConnectTime()
功能
獲取連接時間
getURL
方法聲明
public URL getURL()
功能
獲取取樣器請求URL
栗子代碼
url = prev.getURL() log.info('url is: ' + url)
getUrlAsString
方法聲明
public String getUrlAsString()
功能
獲取取樣器請求URL字符串
getGroupThreads
方法聲明
public int getGroupThreads()
功能
獲取線程組下正在運行的線程數
栗子代碼
gtnum = prev.getGroupThreads() log.info('gtnum is: ' + gtnum)
getHeadersSize
方法聲明
public int getHeadersSize()
功能
獲取取樣器響應首部字段大小
栗子代碼
hs = prev.getHeadersSize() log.info('hs is: ' + hs)
getBodySizeAsLong
方法聲明
public long getBodySizeAsLong()
功能
獲取取樣器響應正文大小
栗子代碼
bs = prev.getBodySizeAsLong() log.info('bs is: ' + bs)