ctx的多种用法

CTX variable gives you the control over your current Thread. There are many functions that you can use.
log.info("Current Sampler class is: " + ctx.getCurrentSampler());
log.info("JMeter Engine class is: " + ctx.getEngine());
log.info("Previous Response Message is: " + ctx.getPreviousResult().getResponseMessage());
log.info("Previous Response Code is: " + ctx.getPreviousResult().getResponseCode());
log.info("Previous Response URL is: " + ctx.getPreviousResult().getURL());
log.info("Previous Response Time is: " + ctx.getPreviousResult().getTime());
log.info("Previous Domain is: " + ctx.getPreviousSampler().getDomain());
log.info("Previous Protocol is: " + ctx.getPreviousSampler().getProtocol());
log.info("Previous Port is: " + ctx.getPreviousSampler().getPort());
log.info("Previous Method is: " + ctx.getPreviousSampler().getMethod());
log.info("Thread Name is: " + ctx.getThread().getThreadName());
log.info("Thread Start Time is: " + ctx.getThread().getStartTime());
log.info("Thread End Time is: " + ctx.getThread().getEndTime());
log.info("Start Next Thread Loop on Error: " + ctx.getThreadGroup().getOnErrorStartNextLoop());
log.info("Stop Test on Error: " + ctx.getThreadGroup().getOnErrorStopTest());

PREV 的多种用法

PREV variable gives you control over your sampler’s response.
String code = prev.getResponseCode(); //获取状态码
String message = prev.getResponseMessage(); //获取message
String json_result=prev.getResponseDataAsString(); //响应信息转为字符串
prev.getTime().toString();
prev.getConnectTime().toString();
prev.getURL();
prev.isSuccessful().toString();
prev.getResponseHeaders();

脚本信息:

log.info("THREAD Name "+ctx.getThread().getThreadName());
log.info("THREAD Name "+ctx.getThread().getStartTime());
log.info("Response Time is: " + prev.getTime().toString());
log.info("Connect Time is: " + prev.getConnectTime().toString());
log.info("URL is: " + prev.getURL());
log.info("The result is passed: " + prev.isSuccessful().toString());
log.info("Headers are: " + prev.getResponseHeaders());
Jmeter-处理线程组和响应

应该场景:若接口调用失败,停止此线程

if(!prev.isSuccessful()){

ctx.getEngine().stopTest();//停止线程

}
参考链接:
https://www.colabug.com/2018/1107/5176713/
https://www.redline13.com/blog/2018/06/testing-complex-logic-with-jmeter-beanshell/

相关文章:

  • 2021-08-15
  • 2021-09-10
  • 2021-11-02
  • 2021-09-28
  • 2021-05-24
  • 2021-05-28
  • 2021-11-14
猜你喜欢
  • 2021-04-16
  • 2022-12-23
  • 2022-01-14
  • 2021-09-12
  • 2021-05-24
  • 2021-06-18
  • 2022-12-23
相关资源
相似解决方案