如果在JMeter中任何HTTP调用失败,如何将Jenkins构建标记为失败

xfb7svmp  于 2022-11-09  发布在  Jenkins
关注(0)|答案(1)|浏览(219)

我们已经用JMeter开发了API测试。并且还将JMeter与Jenkins集成。我们正在使用批处理命令通过Jenkins运行此测试:

jmeter -n -t ${workspace}//JMeter//APIAutomation.jmx -l ${workspace}//apireports//testlog.log -e -o ${workspace}//apireports

我们使用publishHTML方法来发布报告:
我们可以看到所有API测试的报告。但不幸的是,每当任何API测试失败时,构建仍然通过。如果任何API测试失败,有没有什么方法可以使Jenkins构建失败?

uqjltbpv

uqjltbpv1#

JMeter本身不会“失败”任何东西,选项如下:
1.切换到JMeter Maven Plugin,它具有检查测试结果的功能,如果存在失败的请求,则将构建标记为失败
1.切换到JMeter Performance Plugin,它还具有根据各种标准将构建标记为失败或不稳定的功能
1.切换到通过Taurus工具运行测试,它具有灵活的Pass/Fail Criteria subsystem,允许在不满足条件时返回非零退出代码
1.在主线程组中添加一个JSR223侦听器,并在其中使用以下代码:

if (!prev.isSuccessful()) {
    props.put('failed', 'true')
}

然后在tearDown线程组中添加JSR223Sampler,并将以下代码放入其中:

if (props.get('failed') == 'true') {
    System.exit(1)
}

相关问题