Jmeter 如何查看BeanShell前置或后置处理器结果

Jmeter 如何查看BeanShell前置或后置处理器结果,jmeter,Jmeter,我正在尝试使用beanshell后处理器,所以我从简单的http请求开始,在这里我点击google主页。“${url}”==”https://www.google.co.in". 在http请求页面之后,我添加了BeanShellPostProcessor,在脚本区域中,我使用了ctx变量和一些其他代码,如下所示: int threadNum = ctx.getThreadNum(); String code = prev.getResponseCode(); String message =

我正在尝试使用beanshell后处理器,所以我从简单的http请求开始,在这里我点击google主页。“${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中beanshell处理器的控制台在哪里? 可以在侦听器中查看类似示例的请求结果。我尝试了BeanShellListner,但它没有显示任何数据。 此外,我还保持“日志查看器”处于打开状态

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

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


  • 我还建议您考虑切换到和语言,因为这样您将获得更好的性能,对XML、JSON等以及其他Groovy的“语法糖”的现成支持。请参阅文章以获得更详细的解释

    @Drimiti:谢谢。为了在jemeter.log中显示日志,我必须在jmeter setup中设置任何参数或任何类型的更改吗?无,
    log.info(“某物”)
    将把
    一些东西
    打印到jmeter.log文件中。您还可以简单地讲述一下在jmeter中使用BeanShell进行任何性能/负载测试项目的真实例子吗?我在试用的基础上使用了所有的东西,并且在我们的脚本中保留了任何合适或有用的东西。这就像我们在jmeter上更深入的探索一样。当您的用例无法使用jmeter的测试元素实现时,您应该使用脚本,通常您应该避免使用它