如何查看处理器前后处理结果的bean shell

时间:2017-04-11 10:16:45

标签: jmeter

我正在尝试使用beanshell后处理器,所以我已经开始使用简单的http请求,我正在访问谷歌主页。 " $ {URL}" ==" HTTPS://www.google.co.in" ;.在http请求页面后我添加了BeanShellPostProcessor,在Script区域我使用ctx变量和其他一些代码,如:

int threadNum = ctx.getThreadNum();
String code = prev.getResponseCode(); 
String message = prev.getResponseMessage();

log.info(threadNum);
log.info("This line has been written by Beanshell Post Processor");

所以我有两个问题 -

i。我使用beanshell的方式是对的吗?

ii。jmeter中的beanshell处理器控制台在哪里? 像样本请求结果可以在监听器中查看。我尝试使用BeanShellListner,但它没有显示任何数据。 此外,我保留了"日志查看器"上。

1 个答案:

答案 0 :(得分:1)

  1. 您使用它几乎是正确的,唯一的错误是您无法将整数写入日志文件,您需要先将其强制转换为String,如:

    log.info(String.valueOf(threadNum));
    
  2. 除了 jmeter.log 文件之外,您无法在任何地方看到前置和后置处理器的结果。如果是PostProcessor,您可以通过prev.setResponseData()方法修改父采样器响应数据,其中prevSampleResult类实例的简写

  3. 我还建议您考虑切换到JSR223 ElementsGroovy语言,这样您将获得更好的性能,对XML,JSON等的开箱即用支持以及其他Groovy的支持"语法糖"。有关详细说明,请参阅Groovy Is the New Black文章。