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

我计划像下面这样在我的JMeter中创建测试计划

  • 测试计划
  • 线程组

    • 回路控制器
    • HTTP请求" title="HTTP请求">HTTP请求采样器1
    • HTTP请求采样器2
    • HTTP请求采样器3
    • HTTP请求采样器4
    • HTTP请求采样器5
    • HTTP请求采样器6
    • HTTP请求采样器7
    • HTTP请求采样器8
    • 如果控制器条件$ {JMeterThread.last_sample_ok} == false
    • SMTP取样器

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

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

我不太了解if控制器条件$ {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是 类的静态String字段。

来自

类的源代码的这一行显示LAST_SAMPLE_OK将被设置为parent.isSuccessful()布尔变量的String表示形式,其中

是SampleResult对象:

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

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

是的,如果JMeterThread.last_sample_ok为true,则最后一个采样器成功。您的情况是HTTP Request Sampler 8。

您可以将所有 添加为 子级,然后选中“ Generate a

parent sample”复选框。

这将使JMeter为 所有内部样本生成一个父样本 。如果子采样器之一失败,则父采样器也将失败。

在 之后添加您的 。

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

  1. 是org.apache.jmeter.threads包中的类。

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

以上是 如果HTTP请求之一失败,JMeter发送电子邮件 的全部内容, 来源链接: utcz.com/qa/422912.html

回到顶部