如何从JMeter日志断言stdout语句?

如何从JMeter日志断言stdout语句?,jmeter,beanshell,Jmeter,Beanshell,我们有一个beanshell测试,它执行一个JAR,然后在stdout上打印响应;与本文中描述的过程非常相似。但是,我想知道是否有一种方法可以验证日志中打印的语句,作为测试的一部分,而无需手动验证 忘了比恩希尔吧 您的测试设计看起来非常脆弱和模糊,但是如果您想不出比捕获stdout更好的选项,您可以创建自己的并使用函数来使用自己的PrintStream而不是stdout。比如: 添加到您的测试计划中 添加到安装线程组 将以下代码放入“脚本”区域: def baos = new ByteArra

我们有一个beanshell测试,它执行一个JAR,然后在stdout上打印响应;与本文中描述的过程非常相似。但是,我想知道是否有一种方法可以验证日志中打印的语句,作为测试的一部分,而无需手动验证

  • 忘了比恩希尔吧
  • 您的测试设计看起来非常脆弱和模糊,但是如果您想不出比捕获stdout更好的选项,您可以创建自己的并使用函数来使用自己的PrintStream而不是stdout。比如:

    • 添加到您的测试计划中
    • 添加到安装线程组
    • 将以下代码放入“脚本”区域:

      def baos = new ByteArrayOutputStream()
      def ps = new PrintStream(baos)
      System.setOut(ps)
      props.put('baos', baos)
      
    • 完成后,您可以使用以下代码访问打印到标准输出的所有消息:

      def stdout = props.get('baos').toString()
      
  • 演示:


    我不认为在内存中收集日志是负载测试的实际解决方案,这意味着产生大量的通信量,从而产生日志。