• 如何使用Jenkins持续集成构建接口自动化测试--配置邮件通知


    在安装之前,我们先了解一下什么叫做”持续集成“?

    • "持续" 包括几个核心概念/最佳实践:

      1)频繁发布

      2)可重复

      3)快速迭代

    • 持续集成(Continuous Integration)CI 是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。
    • 持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用
    • 持续集成的基本思想是让一个自动化过程监测一个或多个源代码仓库是否有变更。当变更被推送到仓库时,它会监测到更改、下载副本、构建并运行任何相关的单元测试。

    工厂里的装配线以快速、自动化、可重复的方式从原材料生产出消费品。同样,软件交付管道以快速、自动化和可重复的方式从源代码生成发布版本。如何完成这项工作的总体设计称为“持续交付”(CD)。启动装配线的过程称为“持续集成”(CI)。确保质量的过程称为“持续测试”,将最终产品提供给用户的过程称为“持续部署”。

    一、安装Jenkins

    1. 到官网:
    https://jenkins.io/zh/download/查看 下载文档

    使用brew安装Jenkins

    # 安装最新版本brew install jenkins# 安装 LTS 版本brew install jenkins-lts

     

    二、安装所需插件

    1. 一开始可以根据推荐的进行安装,如果后期有其他的安装或卸载需要,可通过如下步骤进行:

     

    2. 利用过滤器过滤需要安装的插件,勾选后,点击安装即可

     

    3. 由于需要配置邮件通知,所以必须安装—— 邮件扩展插件 

      

    三、创建admin用户账号

    创建的时候配置好管理员邮箱,因为后面这个邮箱后面用于发送邮件的

    四、执行邮件通知相关配置

    1. 设置Jenkins地址和管理员邮箱地址

    2. 配置发件人邮箱基本信息--邮件服务器地址、默认用户邮箱后缀、默认邮件内容类型以及默认接收人邮箱(此处使用的发送邮箱是QQ邮箱)

     3. 点击”高级“,进一步配置

     4. 配置QQ 邮箱开启相关服务

    如果报告的发件人邮箱设置为qq邮箱,需要对qq邮箱进行服务设置,如下:设置-->开启POP3/IMAP 服务

     

     5. 开启之后把获得的授权码 复制粘贴到第3点的密码框:

     6. 设置邮件默认主题格式和默认内容

     

    1. # Default Subject
    2. 【构建通知】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
    3. # Default Content
    4. "UTF-8">
    5. ${ENV, var=<span class="hljs-string">"JOB_NAME"</span>}-第${BUILD_NUMBER}次构建日志
    6. "8" marginwidth="0" topmargin="8" marginheight="4"
    7. offset="0">
    8. "95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
    9. 本邮件由系统自动发出,无需回复!
    10. 各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
    11. "#CC0000">构建结果 - ${BUILD_STATUS}

    12. "#0B610B">构建信息

    13. "2" width="100%" align="center" />
    14. 项目名称 : ${PROJECT_NAME}
    15. 构建编号 : 第${BUILD_NUMBER}次构建
    16. 触发原因: ${CAUSE}
    17. 构建状态: ${BUILD_STATUS}
    18. 构建日志: "${BUILD_URL}console">${BUILD_URL}console
    19. 构建 Url : "${BUILD_URL}">${BUILD_URL}
    20. 工作目录 : "${PROJECT_URL}ws">${PROJECT_URL}ws
    21. 项目 Url : "${PROJECT_URL}">${PROJECT_URL}
    22. "#0B610B">失败用例


    23. "2" width="100%" />
    24. $FAILED_TESTS
    25. "#0B610B">最近提交(#$SVN_REVISION)


    26. "2" width="100%" />
      • ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="
      • %d [%a] %m
      • "}

      7. 点击 ”apply“——”save”

      五、创建任务

      1. 定义任务名称——建议与接口测试任务名称一致

       2. 选择自由风格——Freestyle project

      3. 构建设置(如果是mac电脑,Build选择 Execute Shell

      命令框里输入 执行py文件的shell命令

       4. 配置完后,选择开始 构建

      5. 第一次构建的时候会失败,但是没有关系,只有构建之后,我们创建的项目才会保存到workspace文件夹中,如下:

      Users/mecell/.jenkins/workspace/FinanceAPITest

       6. 接着把项目根目录下的所有文件和代码拷贝到上述目录中:

      7. 配置测试报告存放文件夹

      进入项目里面,选择Configure

       

      配置构建后操作(Add post-build Action)——Publish HTML reports 

       选择add,进入如下页面,填写后,点击保存,index pages配置的目录要与项目中的html报告所在目录保持一致

       构建成功后,测试报告就会存放在项目页面的一个HTML Report文件夹内:

       

      8. 配置测试报告通过邮件通知发送

      进入项目里面,配置构建后操作(Add post-build Action)

       只需要修改Attachments 的内容 ,其他配置保持默认

       

      接着配置一个触发器,点击上图的 Advanced Settings:

      把原来失败才发送的触发器删除,重新新建一个:

       

      添加一个Always的触发器,表示总是发送(由于没有配置用户列表,所以把develpers删除,仅留下配置的 收件人列表recipient list),最后保存

      构建成功如下:球变为蓝色

       # 定时构建

       解决:生成的HTML报告,无法导入js,css文件问题,打开没有格式

      在“系统管理”-“脚本命名行”输入如下命令并执行:

      System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

       最后在我的QQ技术交流群里整理了我这10几年软件测试生涯整理的一些技术资料,包括:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如果在学习或工作中遇到问题,群里也会有大神帮忙解答,群号 798478386 ( 备注 今日头条555 )

      全套软件测试自动化测试教学视频

       300G教程资料下载【视频教程+PPT+项目源码】

       

      全套软件测试自动化测试大厂面经

       

    27. 相关阅读:
      正则表达式中的元字符,量词:贪婪和非贪婪,转义符: \s: 记得使用-z --null-data: 使用ascii码中空字符来替换新行,分组:““,和‘‘
      论文阅读_广义加性模型_GAMs
      HTML5期末考核大作业:基于Html+Css+javascript的网页制作(化妆品公司网站制作)
      超详细的数据结构---顺序表的有关教程
      golang工程管理实现简单计算器
      GCC特性——内建函数
      超级详细 SQL 优化大全
      [MyBatisPlus]映射匹配兼容性
      Llama2-Chinese项目:2.2-大语言模型词表扩充
      制作pcb流畅
    28. 原文地址:https://blog.csdn.net/caixiangting/article/details/126311804