如何在jmeter中发送断言结果失败消息的电子邮件

时间:2015-12-01 10:38:32

标签: jmeter

我是Jmeter的新手。 我有一个任务,我想发送一个Assertion结果失败的电子邮件。 我有一个http请求,我在那里检查API的结果,如果它包含测试成功的适当响应。 现在问题是如果测试失败,我需要通过电子邮件发送其结果(带有失败消息)。 我已正确配置SMTP Sampler,它正在发送邮件。但我不知道如何使用该电子邮件发送响应断言失败消息作为消息正文。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您可以使用Beanshell PreProcessor来获取前一个采样器的断言失败消息。

  1. 将Beanshell PreProcessor作为SMTP请求采样器的子项添加
  2. 将以下代码放入PreProcessor的“脚本”区域:

    import org.apache.jmeter.assertions.AssertionResult;
    
    AssertionResult[] results = prev.getAssertionResults();
    StringBuilder body = new StringBuilder();
    for (AssertionResult result : results) {
        body.append(result.getFailureMessage());
        body.append(System.getProperty("line.separator"));
    }
    vars.put("body", body.toString());
    
  3. 在SMTP请求采样器中使用${body} JMeter变量。
  4. 请记住,它仅适用于上一个采样器的断言失败消息

    有关JMeter测试中Beanshell脚本的详细信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。