【问题标题】:How to view the bean shell pre or post processor result如何查看 bean shell 前处理器或后处理器结果
【发布时间】:2017-04-11 19:37:18
【问题描述】:

我正在尝试使用 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.我使用beanshell的方式对吗?

ii.jmeter中beanshell处理器的控制台在哪里? 样例请求结果可以在监听器中查看。我尝试使用 BeanShellListner,但它没有显示任何数据。 我也一直打开“日志查看器”。

【问题讨论】:

    标签: jmeter


    【解决方案1】:
    1. 您几乎正确地使用它,唯一的错误是您无法将整数写入日志文件,您需要先将其转换为String

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

    我还建议考虑切换到JSR223 ElementsGroovy 语言,因为这样您将获得更好的性能、对 XML、JSON 等的开箱即用支持以及其他 Groovy 的“语法糖”。更详细的解释见Groovy Is the New Black文章。

    【讨论】:

    • @Drimiti:谢谢。为了在 jemeter.log 中显示日志,我是否必须在 jmeter 设置中设置任何参数或任何类型的更改?
    • 没什么,log.info("something"); 会将something 打印到 jmeter.log 文件中。
    • 您还可以简单地叙述在 jmeter 中使用 bean shell 进行任何性能/负载测试项目的真实示例是什么?我在跟踪基础上使用所有内容,并且将适合或相当有用的内容保留在我们的脚本中。就像我们在 jmeter 上进行更多探索一样。
    • 当你的用例无法使用 JMeter 的测试元素实现时,你应该使用脚本,通常你应该避免它
    猜你喜欢
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多