【问题标题】:How to send mail for the every failed HTTP Request Sampler in JMETER?如何为 JMETER 中每个失败的 HTTP 请求采样器发送邮件?
【发布时间】:2020-03-31 13:04:38
【问题描述】:

我计划在我的 JMeter 中创建一个测试计划,如下所示

测试计划 线程组

HTTP Request Sampler 1
HTTP Request Sampler 2
HTTP Request Sampler 3
HTTP Request Sampler 4
HTTP Request Sampler 5
HTTP Request Sampler 6
HTTP Request Sampler 7
HTTP Request Sampler 8

如果控制器条件
${__groovy(vars.get("JMeterThread.last_sample_ok").equals("false"),)}

SMTP 采样器

我想 24/7 运行测试。如果一个(或多个)HTTP 请求采样器由于某种原因返回错误,则执行 SMTP 采样器并向我发送电子邮件。

我想检查每个采样器 1-8 的状况。但是现在如果 HTTP Request Sampler 4 和 HTTP Request Sampler 8 都失败了,JMeter 只会为 HTTP Request Sampler 8 发送一封邮件。

如果 HTTP 请求采样器均未返回错误,我想向我发送电子邮件。请帮忙。

谢谢。

【问题讨论】:

    标签: automation jmeter


    【解决方案1】:

    JMeter 会颠倒执行采样器,因此假设您只有在 HTTP Request Sampler 8 之后才有 If 控制器 - 它会仅检查 HTTP 请求采样器 8 结果,之前的失败将被忽略。

    解决方案在:

    1. 复制并粘贴您的 If 控制器,使其出现在您要检查的每个 HTTP Request 采样器之后
    2. 与第 1 点基本相同,但使用 Module Controller 而不是复制粘贴 If 控制器
    3. 将此 If Controller 和 SMTP Sampler 组合替换为单个 JSR223 PostProcessor,您已经拥有的条件和发送电子邮件的代码可以在 Send Email.groovy 文件中找到。 PostProcessors 根据JMeter Scoping Rules 运行,因此单个实​​例将应用于其级别上的所有采样器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多