gpt4 book ai didi

java - 如果 HTTP 请求之一失败,JMeter 会发送电子邮件

转载 作者:行者123 更新时间:2023-11-30 02:36:58 25 4
gpt4 key购买 nike

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

  • 测试计划
  • 线程组
    • 循环 Controller
      • HTTP 请求采样器 1
      • HTTP 请求采样器 2
      • HTTP 请求采样器 3
      • HTTP 请求采样器 4
      • HTTP 请求采样器 5
      • HTTP 请求采样器 6
      • HTTP 请求采样器 7
      • HTTP 请求采样器 8
    • 如果 Controller 条件 ${JMeterThread.last_sample_ok}==false
      • SMTP 采样器

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

如果没有 HTTP 请求采样器返回 error ,则不执行 SMTP 采样器,而是永远重复循环。

我不太明白 if Controller 条件 ${JMeterThread.last_sample_ok}。

  1. JMeterThread.last_sample_ok 是什么意思?
    Last_sample_ok 表示仅最后一个 HTTP 请求采样器(在我的例子中仅 HTTP 请求采样器 8)?如果我想检查每个采样器 1-8 的状况,在这里可以做什么?

  2. JMeterThread 是 JMeter Java 类还是 Java 对象?

  3. 除了 last_sample_ok 之外,还有什么方法可以应用于 JMeterThread 对象?

谢谢。

最佳答案

  1. JMeterThread.last_sample_ok 是 JMeterThread 类的静态字符串字段。

    JMeterThread 类源代码中的这一行显示 LAST_SAMPLE_OK 将设置为 Parent.isSuccessful() boolean 变量的字符串表示形式,其中 parent 是 SampleResult对象:

        threadContext.getVariables().put(LAST_SAMPLE_OK, Boolean.toString(parent.isSuccessful()));

    基本上,LAST_SAMPLE_OK 将指示最后一个采样是否成功(直到它被下一个采样器重置)。

    是的,如果 JMeterThread.last_sample_ok 为 true 则最后一个采样器成功。在您的例子中,它是 HTTP Request Sampler 8。

    您可以将所有HTTP 采样器添加为事务 Controller 的子级,并选中“生成父级示例”复选框。

    这将使 JMeter 为事务 Controller 的所有内部样本生成父样本。如果子采样器之一失败,父采样器也会失败。

    事务 Controller 之后添加您的If Controller

    现在 JMeterThread.last_sample_ok 将与生成的父样本相关。

  2. JMeterThreadclass in the org.apache.jmeter.threads package .

  3. LAST_SAMPLE_OK 不是一个方法,而是一个静态字段。 JMeterThread 类中还有一个字段和许多方法。

关于java - 如果 HTTP 请求之一失败,JMeter 会发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com