【性能测试】:jmeter中关于prev.SampleResult中常用函数的用法


一、在jemter中,在后置处理器bean shell中可以通过引入org.apache.jmeter.samplers.SampleResult;

从而对取样器结果分析处理,现在说明一下最常用的几个函数:

import org.apache.jmeter.samplers.SampleResult;
String samplerData= prev.getSamplerData();
log.info("getSamplerData=======:"+samplerData); //响应结果
String threadName = prev.getThreadName();
log.info("ThreadName:"+threadName );  //得到threadname
String getCookies = prev.getCookies();
log.info("getCookies:"+ getCookies);
String getDataEncodingWithDefault = prev.getDataEncodingWithDefault();
log.info("getDataEncodingWithDefault:"+ getDataEncodingWithDefault);
String getHTTPMethod = prev.getHTTPMethod();
log.info("getHTTPMethod:"+ getHTTPMethod);

int getBodySize = prev.getBodySize(); //获取返回报问题的大小
log.info("getBodySize:"+ getBodySize);
int getTime = prev.getTime();//获取该笔请求的耗时
log.info("getTime:"+ getTime);

脚本执行结果如下:

2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: ThreadName:认购书发起合同 1-1
2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: getCookies:
2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: getDataEncodingWithDefault:UTF-8
2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: getHTTPMethod:POST
2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: getRedirectLocation:null
2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: getBodySize:248966
2020-07-01 16:15:31,936 INFO o.a.j.u.BeanShellTestElement: getTime:2994

  结果树的结果如图 

 

 

尤其是 getBodySize()和getTime()两个函数,在做大并发场景下,输出超时的请求,方便对这笔业务做进一步分析,分析定位响应超时的问题;

if(getTime> 2000){
    log.info("该笔请求的traceid 是"+ "${traceId}");
    log.info("Respnse is " + response);
    log.info(code);
}

  这样就可以输出流水号,方便进行问题定位分析。

另外http://svn.apache.org/repos/asf/jmeter/branches/docs-2.9/docs/api/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.html可以查看所有的SampleResult包含的方法。

大致如下:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM