如何查看 Bean shell 预处理器或后处理器结果



我正在尝试使用beanshell后处理器,所以我从简单的http请求开始,我正在点击谷歌主页。"${url}"=="https://www.google.co.in"。在http请求页面之后,我正在添加BeanShellPostProcessor,在脚本区域中,我正在使用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.我使用豆子的方式是对的吗?

ii.jmeter中豆子处理器的控制台在哪里?类似示例请求结果可以在侦听器中查看。我尝试使用BeanShellListner,但它没有显示任何数据。我也保持了"日志查看器"打开。

  1. 你几乎正确地使用它,唯一的错误是你不能将整数写入日志文件,你需要先把它转换为字符串,就像:

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

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

最新更新