JMeter-发送一封电子邮件,用于多个http响应

时间:2017-05-09 11:49:46

标签: jmeter email-integration

Screenshot for Groovy is attached enter image description here我正在使用csv进行http请求并在发生故障时发送电子邮件。我可以在csv文件的http请求结束时只发送一封电子邮件。如果10 http请求失败,那么我想发送一封包含响应为404的所有页面的URL或服务器返回的失败响应的电子邮件。图片附件

2 个答案:

答案 0 :(得分:1)

  1. JSR223 Listener添加到主线程组
  2. 将以下代码放入"脚本"面积:

    if (!prev.isSuccessful()) {
        StringBuilder builder = new StringBuilder()
        def failures = props.get("failures")
        if (failures != null) {
            builder.append(failures)
        }
        builder.append(prev.getUrlAsString())
        builder.append(System.getProperty("line.separator"))
        props.put("failures", builder.toString());
    }
    
  3. tearDown Thread Group与1个虚拟用户和1个循环添加到Test Plan

  4. If Controller添加到此tearDown Thread Group
  5. 使用${__groovy(props.get("failures") != null,)}作为If Controller的条件
  6. 将您的SMTP Sampler作为if控制器的子项
  7. 在邮件正文中使用${__P(failures,)} - 它将包含失败的采样点网址。
  8. 假设上述配置,JMeter将仅发送一封包含所有失败采样器URL列表的电子邮件,并且仅在任何采样器发生故障时发送。您可以根据需要随意修改代码。

    参考文献:

答案 1 :(得分:1)

我做得很简单,并在tearDown ThreadGroup下移动了SMTP Sample,并在Email中附加了Aggregate Report,其中包含了我想通过电子邮件发送的所有信息。 此外,在聚合报告中,我选择了仅显示错误的选项,这使得此报告更简洁。

感谢您的回答。 @Dmitri T

如果有任何问题,请随时咨询。