使用jmeter+ant+Jenkins+企业微信自动化巡检_测试报告中有接口失败才通知(4)

上次搞完后调试发现,不管ant执行接口的结果是是否为失败,在Jenkins看来执行ant命令这一步始终是成功的。因此配置了失败时发邮件、企业微信通知后,压根就收不到通知,因为根本不会显示失败。

因此要考虑解决,ant执行的接口有失败时,怎么让Jenkins整个流程构建失败,从而达到失败通知的效果。

经过一段时间的思考后,思路如下:

1、ant生成的接口如果有失败,其html报告中会生成执行失败等文字。

2、Jenkins利用脚本读取html报告中的上述文字,如果存在,说明有接口失败,在编写的脚本中控制此次Jenkins流程失败。

3、上面2步骤完成后,以前配置好的流程已经可以做到仅失败时发通知了。

 

 

在ant编译后的步骤中加入构建命令Execute Windows batch command。(由于我的Jenkins是部署在windows机器上的)

 

 

 输入bat命令如下:

cd ResultReport\htmlfind "Failure Detail" TestReport%BUILD_TIMESTAMP%.html >nulif errorlevel 1 (
echono Failure Detail) else (
exit 1
)
exit 0

首先当前在Jenkins任务的工作空间目录下,需进入存放报告的目录。

然后通过find命令,在指定报告html中找关键词。我这边如果有接口执行失败,报告中会生成Failure Detail文案。

 

 

通过if命令,如果存在执行失败,则强制exit 1。使得本bat执行失败,从而Jenkins此步骤执行失败。

如果没有接口失败,则给出提示。后面加上exit 0 是因为如果不加这个,Jenkins会默认此脚本执行失败。

 

如果是linux,则脚本为

cd ResultReport/htmlgrep -n "Failure Detail" TestReport%BUILD_TIMESTAMP%.htmlif [ $? -eq 1 ];thenexit1
else
echo "找到了"
fi

 

使用jmeter+ant+Jenkins+企业微信自动化巡检_测试报告中有接口失败才通知(4)

原文地址:https://www.cnblogs.com/chooperman/p/14155776.html

微信
我还没有学会写个人说明!

你也可能喜欢

评论已经被关闭。

插入图片