如果你想从头学习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)