从dev/qa的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行历史以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息 。
从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情 。allure的模块化和可扩展性保证了您总是能够对某些东西进行微调,使Allure更适合您,那么今天我们就来说说如何使报告更加详细的显示我们需要的信息,以及allure与jenkins的集成 。
4.1 下载Allure插件与配置Allure点击【Manage Jenkins】,选择【Manage Plugins】,选择【可选插件】,在【搜索框】中输入Allure,下载该插件 。下载成功之后重启Jenkins 。
进入全局工具配置【Global Tool Configuration】,下拉最后一项,会看到【Allure Commandline】项,按下图配置之后保存即可:

文章插图
进入配置,点击【构建后操作(Post-build Actions)】,选择Allure Report
Results:输入Path路径,这里的path路径表示在项目根目录下生成此文件夹,文件夹用来保存生成html报告之前所依赖的json,xml,txt等类型文件 。
Report path:输入保存html报告路径 。

文章插图

文章插图
点击【Build Now[立即构建]】,执行结束之后可以看到生成的Allure报告

文章插图
4.2 Allure报告展示

文章插图
5. 发送邮件Jenkins默认提供了一个邮件通知E-mail Notification,但功能有很多的局限性,不够灵活 。比如:无法定义邮件的格式、邮件通知无法提供详细的邮件内容 。在这里我们使用Email Extension Plugin插件 。该插件能够允许你自定义邮件发送的具体内容、邮件格式等 。
5.1 下载Email插件与配置Email点击【Manage Jenkins】,选择【Manage Plugins】,选择【可选插件】,在【搜索框】中输入Email Extension Plugin,下载该插件 。下载成功之后重启Jenkins 。
进入系统设置【System Configuration】,找到【Jenkins Location】,设置Jenkins URL与发件人的邮件地址

文章插图
找到“Extended E-mail Notification”,设置以下内容:

文章插图
详细参数介绍:
- Override Global Settings:如果不选,该插件将使用默认的E-mail Notification通知选项 。反之,可以通过指定不同于的设置来进行覆盖 。
- Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种 。
- Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头 。
- Add 'Precedence:bulk' Email Header:设置优先级 。
- Default Recipients:自定义默认电子邮件收件人列表 。
- Reply To List:回复列表 。
- Emergency reroute:如果这个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表) 。
- Excluded Committers:防止邮件被邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:@domain.com),并且使用逗号分隔 。
- Default Subject:自定义邮件通知的默认主题名称 。该选项能在邮件的主题字段中替换一些参数,这样就可以在构建中包含指定的输出信息 。
- Maximum Attachment Size:邮件最大附件大小 。
- Default Content:自定义邮件通知的默认内容主体 。该选项能在邮件的内容中替换一些参数,这样就可以在构建中包含指定的输出信息 。
- Default Pre-send Script:默认发送前执行的脚本 。
- Enable Debug Mode:启用插件的调试模式 。
- nable Security:启用时,会禁用发送脚本的能力,直接进入Jenkins实例 。如果用户试图访问Jenkins管理对象实例,将抛出一个安全异常 。
- Content Token Reference:邮件中可以使用的变量,所有的变量都是可选的 。
推荐阅读
- 微服务如何限制接口调用次数?
- 一通百通,一文实现灵活的 K8S 基础架构
- 高德地图AR驾车导航新升级 实现全面机型覆盖
- Python网络编程实现自动化,简化Telnet网络配置工作
- SpringBoot接口频繁超时,长时间找不到原因,我用 Arthas 定位到了
- IP代理技术是如何实现IP地址的切换与隐藏?
- Python实现钉钉/企业微信自动打卡
- 还不知道ReentrantLock的实现流程,那你就out了
- 一文看懂 HashMap 中的红黑树实现原理
- 什么是接口幂等性?为什么会产生这个问题?如何保证接口幂等性?
