当前位置 博文首页 > 文章内容

    Jmeter系列(68)- BeanShell 内置变量 prev

    作者: 栏目:未分类 时间:2020-08-28 16:01:06

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



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