【性能測試】: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