Jmeter测试计划总结报告通过/失败

时间:2016-12-16 12:20:03

标签: jmeter

我一直在寻找Jmeter的一个问题的解决方案。我需要在我的测试计划中加入一些逻辑,这些逻辑可以在测试用例执行结果上给出简单的报告PASS / FAIL,然后输入生成的JTL报告。例如

  1. 所有测试均通过 - 测试计划结果=通过
  2. 一项或多项测试失败 - 测试计划结果=失败

2 个答案:

答案 0 :(得分:0)

大多数合适的选项假设使用第三方工具,即:

  • 您可以在Jenkins中运行JMeter测试并使用Performance插件,如果失败请求的数量超过指定的阈值,它允许有条件地使构建失败

    Jenkins performance plugin

  • 您可以使用Taurus工具作为包装器运行JMeter测试,它具有灵活且功能强大的Pass/Fail Criteria Subsystem,允许设置不同的条件定义以将测试标记为已通过或失败。如果构建失败,Taurus进程返回非零退出代码。

如果上述方法因任何原因不适合,请详细说明您的问题,并说明您希望看到“失败”或“通过”结果的方式和位置。

答案 1 :(得分:0)

在Thread Group的末尾添加一个BeanShell Listener和一个BeanShell Sampler,并将其放在Listener中:

if(sampleEvent.getResult() instanceof org.apache.jmeter.protocol.http.sampler.HTTPSampleResult)
    if (!sampleEvent.getResult().isResponseCodeOK())
            vars.put("res", -1);

在BS Sampler中输入:

  • 如果您想将结果存储为属性:
  

props.put("testPlanResult", vars.get("res") != -1 ? "PASS" : "FAIL");

  • 如果您想将结果存储在文件中:
f = new FileOutputStream("/path/to/file.txt", false);
p = new PrintStream(f); 

p.println("Result: " + (vars.get("res") != -1 ? "PASS" : "FAIL"));

p.close();
f.close();

从这里,您可以使用创建的属性或包含结果的文件来执行您需要的任何内容...

希望这能帮到你!

编辑:

如果将结果写入文件,则需要添加此导入:

import org.apache.jmeter.services.FileServer;