jenkins - 即使 jmeter 持续时间断言失败,Jenkins 构建也会通过
问题描述
我正在使用 jenkins 运行 jmeter,我的脚本中有 300 毫秒的持续时间断言。断言工作正常,因为我的 jmeter 结果显示错误,但 jenkins 构建仍然通过。
如果 jmeter 结果出错,有什么方法可以使我的构建失败?
解决方案
选项位于:
在性能插件 GUI中配置错误阈值
Jenkins 在返回 0 exit status code时认为构建已通过,您可以通过添加 JSR223 Listener 并使用以下代码“告诉”JMeter 以非零退出代码退出:
if (!prev.isSuccessful()) { System.out.println("Test failure, exiting...") System.exit(1) }
where
prev
代表父SampleResult类实例,它使您可以控制父Sampler响应代码、消息、数据等。请查看Top 8 JMeter Java Classes You Should Be Using with Groovy文章,了解有关可用于JSR223 测试元素的JMeter API快捷方式的更多信息它将导致以下行为:
而这个
1
状态码会导致 Jenkins 构建失败第 2 点的替代解决方案是使用Taurus工具作为 JMeter 测试的包装器,它提供了方便的通过/失败标准 子系统,该子系统提供了定义自定义阈值的灵活方法,以将您的测试视为失败
推荐阅读
- html - 如何强制 SVG 水平填充其容器?
- c# - 更新服务参考时如何解决“调用 COM 组件返回错误 HRESULT E_FAIL”
- visual-studio-code - Gitbash - Vs 代码链接
- reactjs - 状态没有按照它应该反应原生的方式工作
- regex - 使用 Regex for VSC 选择具有特定类的所有整个 div
- android - 处理 Websockets - 我应该在哪里放置我的代码来处理 Android 中的 websocket 连接?
- android - HERE-SDK(hello_map_app 问题)与设备的连接丢失。大于设备屏幕尺寸
- c++ - .exe 已触发断点
- html - 滚动时下拉菜单未连接到粘性导航栏
- javascript - 在 React 应用程序中删除 Relay 的连接结构(边缘 -> 节点)是一个好主意吗?最好的方法是什么?