Java JMeter在其中一个HTTP请求失败时发送电子邮件
我计划在JMeter中创建测试计划,如下所示Java JMeter在其中一个HTTP请求失败时发送电子邮件,java,if-statement,jmeter,performance-testing,Java,If Statement,Jmeter,Performance Testing,我计划在JMeter中创建测试计划,如下所示 测试计划 螺纹组 回路控制器 HTTP请求采样器1 HTTP请求采样器2 HTTP请求采样器3 HTTP请求采样器4 HTTP请求采样器5 HTTP请求采样器6 HTTP请求采样器7 HTTP请求采样器8 如果控制器条件${JMeterThread.last_sample_ok}==false SMTP采样器 我想全天候运行测试。 如果一个(或多个)HTTP请求采样器由于任何原因返回错误,则执行SMTP采样器并向我发送电子邮件 如果没
- 测试计划
- 螺纹组
- 回路控制器
- HTTP请求采样器1
- HTTP请求采样器2
- HTTP请求采样器3
- HTTP请求采样器4
- HTTP请求采样器5
- HTTP请求采样器6
- HTTP请求采样器7
- HTTP请求采样器8
- 如果控制器条件${JMeterThread.last_sample_ok}==false
- SMTP采样器
- 回路控制器
Last_sample_ok仅表示最后一个HTTP请求采样器(在我的情况下,仅限HTTP请求采样器8)?如果我想检查每个采样器1-8的状况,这里可以做什么
谢谢。一种方法是使用Jenkins电子邮件扩展插件,您可以将该插件设置为在构建失败时向您发送电子邮件。 (因此,当脚本的HTTP请求失败时,生成可能会失败。)
threadContext.getVariables().put(LAST_SAMPLE_OK, Boolean.toString(parent.isSuccessful()));
基本上,LAST_SAMPLE_OK将指示最后一个样本是否成功(直到它被下一个采样器重置)
是,如果JMeterThread.last_sample_ok为true,则最后一个采样器成功。在您的例子中,它是HTTP请求采样器8
您可以将所有HTTP采样器添加为事务控制器的子对象,并选中“生成父样本”复选框
这将使JMeter为事务控制器的所有内部样本生成父样本。如果其中一个子采样器失败,则父样本也将失败
将您的If控制器添加到事务控制器之后
现在JMeterThread.last_sample_ok将与生成的父样本相关