如果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}。
JMeterThread.last_sample_ok 是什么意思?
Last_sample_ok仅意味着最后一个HTTP请求采样器(在我的情况下,仅HTTP请求采样器8)?如果要检查每个采样器1-8的条件,在这里可以做什么?
是 JMeterThread 一个JMeter的Java类或Java对象?
除了 last_sample_ok 之外,还有什么其他方法可以应用于JMeterThread对象?
谢谢。
回答:
- 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将与生成的父样本相关。
是org.apache.jmeter.threads包中的类。
LAST_SAMPLE_OK不是方法,而是静态字段。 类中还有一个字段和许多方法。
以上是 如果HTTP请求之一失败,JMeter发送电子邮件 的全部内容, 来源链接: utcz.com/qa/422912.html