我正在尝试使用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,但它没有显示任何数据。 此外,我保留了"日志查看器"上。
答案 0 :(得分:1)
您使用它几乎是正确的,唯一的错误是您无法将整数写入日志文件,您需要先将其强制转换为String,如:
log.info(String.valueOf(threadNum));
除了 jmeter.log 文件之外,您无法在任何地方看到前置和后置处理器的结果。如果是PostProcessor,您可以通过prev.setResponseData()
方法修改父采样器响应数据,其中prev
是SampleResult类实例的简写
我还建议您考虑切换到JSR223 Elements和Groovy语言,这样您将获得更好的性能,对XML,JSON等的开箱即用支持以及其他Groovy的支持"语法糖"。有关详细说明,请参阅Groovy Is the New Black文章。