zoukankan      html  css  js  c++  java
  • 【环境巡检】使用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 ResultReporthtml
    find "Failure Detail" TestReport%BUILD_TIMESTAMP%.html >nul
    if errorlevel 1 (
    echo no Failure Detail
    ) else (
    exit 1
    )
    exit 0

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

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

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

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

    如果是linux,则脚本为

    cd ResultReport/html
    grep -n "Failure Detail" TestReport%BUILD_TIMESTAMP%.html
    if [ $? -eq 1 ];then
        exit 1
    else    
        echo "找到了"
    fi
  • 相关阅读:
    ArcGIS影像配准与空间配准
    去除右键菜单opendlg
    Windows环境下Android Studio v1.0安装教程
    OpenGL入门
    Fetching android sdk component information
    事件的委托处理(Event Delegation)
    Javascript模块化编程:模块的写法
    10种排序算法总结
    GitHub-修改以下host-ip可加快访问速度
    this
  • 原文地址:https://www.cnblogs.com/chooperman/p/14155776.html
Copyright © 2011-2022 走看看