Jenkins配置邮件通知(2)——配置邮件模板

最终,还是要写这篇文章哦……

不知道你是不是和我一样,是把Jenkins部署在windows上的,
先说一下我的背景:我是使用Pytest+Selenium+Allure来做UI的自动化测试,我需要把执行结果的简要信息邮件给我老大及其它项目相关测试人员。

首先我想到的是使用官方给的模板:jelly或者是groovy模板
……先不写

直接说我遇到的问题和最终解决方案吧:
我打算将pytest --html 插件这个输出文件作为邮件模板发送,这里就出现了第一个问题:邮件中中文乱码(我不知道把Jenkins部署到Linux是不是没这个问题,知道的同学可以沟通下),然后我就百度解决中文乱码的问题:https://www.cnblogs.com/40406-jun/p/9454118.html 这篇文章解决了我邮件中中文乱码的问题,其中下面这个变量会影响Jenkins启动时CMD的输出,LANG变量就能解决邮件中文乱码的问题

变量名:JAVA_TOOL_OPTIONS
变量值:-Dfile.encoding=UTF8

但是由于我的Jenkins是部署在windows环境下的,其默认编码是GBK,所以增加上面LANG环境变量将编码改为UTF8,导致我Jenkins任务下控制台输出变成乱码了,控制台乱码这肯定不能接受啊……所以我就换了思路,去查看pytest html插件生成报告的编码,其实根本不用看啦,还是截个图吧:是的,默认是utf-8编码,所以我就想把pytest html插件的源码修改,把报告编码修改为GBK
Jenkins配置邮件通知(2)——配置邮件模板_第1张图片
修改过程简单粗暴:
打开python site-packages目录下pytest_html中plugin.py文件,搜索UTF-8全部替换为GBK即可
Jenkins配置邮件通知(2)——配置邮件模板_第2张图片
然后再生成一次报告,看一下有没有生效,这样就解决了邮件乱码的问题,Jenkins控制台也是正常的
Jenkins配置邮件通知(2)——配置邮件模板_第3张图片
后面,我又想,反正老大也不关心每个用例具体的详情,就是html下面Results部分:如果失败了会把详细失败原因打印,还会打印每个用例执行情况,干脆就把这部分屏蔽掉算了
Jenkins配置邮件通知(2)——配置邮件模板_第4张图片
屏蔽掉下面这两部分:
Jenkins配置邮件通知(2)——配置邮件模板_第5张图片
Jenkins配置邮件通知(2)——配置邮件模板_第6张图片
其实我根本不用截图这个,你可以自己多试试,反正也坏不了!
最终邮件就剩这部分了:
Jenkins配置邮件通知(2)——配置邮件模板_第7张图片

你可能感兴趣的:(Jenkins)