1. 程式人生 > 實用技巧 >Jmeter系列(68)- BeanShell 內建變數 prev

Jmeter系列(68)- BeanShell 內建變數 prev

如果你想從頭學習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)