首页 > 解决方案 > 即使 jmeter 持续时间断言失败,Jenkins 构建也会通过

问题描述

我正在使用 jenkins 运行 jmeter,我的脚本中有 300 毫秒的持续时间断言。断言工作正常,因为我的 jmeter 结果显示错误,但 jenkins 构建仍然通过。

Jenkins 构建总结

如果 jmeter 结果出错,有什么方法可以使我的构建失败?

标签: jenkinsjmeter

解决方案


选项位于:

  1. 在性能插件 GUI中配置错误阈值

    在此处输入图像描述

  2. Jenkins 在返回 0 exit status code时认为构建已通过,您可以通过添加 JSR223 Listener 并使用以下代码“告诉”JMeter 以非零退出代码退出:

    if (!prev.isSuccessful()) {
        System.out.println("Test failure, exiting...")
        System.exit(1)
    }
    

    whereprev代表父SampleResult类实例,它使您可以控制父Sampler响应代码、消息、数据等。请查看Top 8 JMeter Java Classes You Should Be Using with Groovy文章,了解有关可用于JSR223 测试元素的JMeter API快捷方式的更多信息

    它将导致以下行为:

    在此处输入图像描述

    而这个1状态码会导致 Jenkins 构建失败

  3. 第 2 点的替代解决方案是使用Taurus工具作为 JMeter 测试的包装器,它提供了方便的通过/失败标准 子系统,该子系统提供了定义自定义阈值的灵活方法,以将您的测试视为失败


推荐阅读