jenkins邮件-使用变量定制化html邮件报告

摘要:
因此,在Jenkins中显示测试结果时,邮件模板可以识别这些框架。然后,在邮件的中,引用html文件。以pytest测试框架和python自动化为例,配置电子邮件中使用的变量。

jenkins当中邮件插件:

Email Extension Plugin

jenkins基本使用和邮件配置请参考测试派文章:http://testingpai.com/article/1609225132204

本文着重来讲解:

1)在邮件正文当中,引用邮件插件提供的变量

2)自定义邮件正文的html模板。

最终要达到的效果为:

jenkins邮件-使用变量定制化html邮件报告第1张

第一步:查看Email Extension Plugin提供的可用变量

1)在Job的【构建后操作】中选择【Editable Email Notification】

jenkins邮件-使用变量定制化html邮件报告第2张

2) 翻到【Editable Email Notification】的最底部,找到【Content Token Reference】.点最右边的问号,会显示所有可用的变量。

jenkins邮件-使用变量定制化html邮件报告第3张

3)【Content Token Reference】变量说明

3.1)与测试结果有关的变量:

${FAILED_TESTS} : 显示失败的用例详情

${TEST_COUNTS,var="TYPE"}: 显示用例数量。TYPE分为4个维度:总数(total), 通过(pass), 失败(fail), 跳过(skip)

比如要显示用例总数,则使用${TEST_COUNTS,var="total"}

jenkins邮件-使用变量定制化html邮件报告第4张

3.2)扩展邮件正文的变量:

${FILE, path="PATH"}:path参数的值,为相对于当前job工作空间的相对路径 。

jenkins邮件-使用变量定制化html邮件报告第5张

3.3)与本次构建信息有关的变量:

jenkins邮件-使用变量定制化html邮件报告第6张

3.4)jenkins信息和当前job的信息

jenkins邮件-使用变量定制化html邮件报告第7张

第二步:配置邮件标题/正文时,使用邮件变量

如果想要在邮件标题/正文当中,使用【第一步】当中的变量,

有个前提条件:要生成jenkins邮件插件能解析的测试结果xml文件, 并被jenkins识别到

 

比如java语言测试框架junit,testng在执行用例完成之后,都会生成对应的xml文件,

再比如robotframework框架在执行用例完成之后,也会生成对应的xml文件。

所以这些框架,在jenkins当中展示测试结果的同时,邮件模板也能识别到。

 

python的测试框架pytest,同样也支持生成xml格式的测试结果文件。

下面,以pytest测试框架和python自动化为案例,配置邮件中使用变量。

第一步:在pytest.main()添加参数:--junitxml=xxxxx.xml

jenkins邮件-使用变量定制化html邮件报告第8张

第二步:在jenkins的job任务的【构建后操作】中,添加【Publish Junit test result report】,配置测试结果xml文件

jenkins邮件-使用变量定制化html邮件报告第9张

第三步:在jenkins的job任务的【构建后操作】中,添加【Editable Email Notification】,使用测试有关的变量。

jenkins邮件-使用变量定制化html邮件报告第10张

第四步:执行任务,发送邮件。邮件正文中即可看到用例数。

 jenkins邮件-使用变量定制化html邮件报告第11张

第二步(2):定义邮件正文html模板,html模板中使用变量

在邮件正文当中,我们也可以事先定义好一个html模板,在模板当中使用变量。

然后在邮件的【Default Content】中,引用html文件。

 

仍然以pytest测试框架和python自动化为案例,配置邮件中使用变量。

 

第一步:在pytest.main()添加参数:--junitxml=xxxxx.xml

第二步:在jenkins的job任务的【构建后操作】中,添加【Publish Junit test result report】,配置测试结果xml文件

与上面的保持一致,此处不再复述。

 

第三步:编写一个html报告模板,并与自动化项目代码放在一起。

注意:html文件中,不能使用外部css样式文件,否则邮件正文中无法解析出样式 。

本文中使用的邮件报告模板如下(test_templates.html):

jenkins邮件-使用变量定制化html邮件报告第12张

在邮件模板当中,使用了邮件插件提供的变量。

 

第四步:在jenkins的job任务的【构建后操作】中,添加【Editable Email Notification】,使用html文件。

在【Default Content】当中,使用以下表达式:

${FILE,path="test_templates.html"}

path=相对路径 相对于当前项目的工作空间

jenkins邮件-使用变量定制化html邮件报告第13张

第五步:执行任务,发送邮件。邮件正文中即可看到对应的html效果。

 jenkins邮件-使用变量定制化html邮件报告第14张

免责声明:文章转载自《jenkins邮件-使用变量定制化html邮件报告》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux服务器用speedtest 测试上传下载速度七、企业级的redis数据备份和各种灾难下的数据恢复,是怎么做得呢?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

设计生成自动化流水线

现在已经有很多成熟的生成流水线了,如Azure DevOps,直接在界面中配置好即可,相当便捷,生成流水线的工作方式、工作过程也可以简单了解,我在空闲时间搭建了一个简单生成流水线旨在巩固个人对生成流水线的理解。 一、生成流水线设计图 平时,在腾讯云、阿里云搞活动时薅了点羊毛,搞了几天便宜的服务器,不能让这些服务器闲置了,也借此来试试搭建一条流水线,目的是...

邮件的DNS设置

    为了反垃圾,在发件人使用的域名下面最好配置两条DNS记录:SPF和DKIM,他们都是用来反垃圾的,邮件接受服务器会检查这两项,只有符合要求才会进入用户的邮箱。 一般来说,大批量发送邮件时,我们会使用第三方的邮件服务,比如sendgrid, postmarkapp等,他们会给你提供这两条记录的值,你自己在域名托 管商那里,在发送邮件的那个域名下面添加...

R实战 第十篇:列联表和频数表

列联表是观测数据按两个或更多属性(定性变量)分类时所列出的频数分布表,它是由两个以上的变量进行交叉分类的频数分布表。交互分类的目的是将两变量分组,然后比较各组的分布状况,以寻找变量间的关系。 按两个变量交叉分类的,该列联表称为两维列联表;若按3个变量交叉分类,所得的列联表称为3维列联表,依次类推。一维列联表就是频数分布表。频数就是各个分组中属性出现的次数。...

[Contract] Solidity 变量类型的默认值

变量的默认值一般都代表 “零值”。 比如 bool 就是 false,uint、int 就是 0,string 就是空字符串。 其它组合的参考 Solidity 判断 mapping 值的存在 Ref:https://solidity.readthedocs.io/en/v0.6.3/control-structures.html#default-val...

Idea 软件使用快捷键归纳01

<1>CTRL+P 方法参数提示 <2>ctrl+/ 单行注释 <3>Ctrl+Alt+MIDEA 重复代码快速重构(抽取重复代码快捷键) <4>alt+enter自我修复,出现红色错误代码的解决方案(注意:光标必须定位在红色错误代码处) 可以实现自动导包 <5>ctrl+alt+L自动格式化代码...

计算机邮件TCp / Ip 简介

最近用使开发的过程中出现了一个小问题,顺便记录一下原因和方法--计算机邮件     1. TCP/IP 是用于因特网 (Internet) 的通信议协。            计算机通信议协是对那些计算机必须守遵以便彼此通信的的规矩的描述。     TCP/IP 指传输控制议协/网际议协 (Transmission Control Protocol / I...