【发布时间】:2020-01-07 16:51:49
【问题描述】:
我正在使用 jenkins 运行 jmeter,我的脚本中有 300 毫秒的持续时间断言。断言工作正常,因为我的 jmeter 结果显示错误,但 jenkins 构建仍然通过。
如果 jmeter 结果出错,有什么方法可以使我的构建失败?
【问题讨论】:
我正在使用 jenkins 运行 jmeter,我的脚本中有 300 毫秒的持续时间断言。断言工作正常,因为我的 jmeter 结果显示错误,但 jenkins 构建仍然通过。
如果 jmeter 结果出错,有什么方法可以使我的构建失败?
【问题讨论】:
你需要定义Error Threshold
如果错误数量超过指定值,错误阈值会将构建标记为不稳定或失败。
在单个构建中使用错误阈值 - 以百分比为当前构建定义错误阈值。
【讨论】:
-l Test.jtl
选项在:
在Performance Plugin GUI中配置错误阈值
Jenkins 在返回 0 exit status code 时认为构建已通过,您可以通过添加 JSR223 侦听器并使用以下代码“告诉”JMeter 以非零退出代码退出:
if (!prev.isSuccessful()) {
System.out.println("Test failure, exiting...")
System.exit(1)
}
其中prev 代表父级SampleResult 类实例,它使您可以控制父级Sampler 响应代码、消息、数据等。查看Top 8 JMeter Java Classes You Should Be Using with Groovy 文章以获取有关JMeter API 可用于@ 的快捷方式的更多信息987654328@
这将导致以下行为:
这个1状态码会导致Jenkins构建失败
第 2 点的替代解决方案是使用 Taurus 工具作为 JMeter 测试的包装器,它提供了方便的 Pass/Fail Criteria 子系统,该子系统提供了定义自定义阈值的灵活方式,以将您的测试视为失败
【讨论】: