自动化CI分析报告系统
Posted hello-Will
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化CI分析报告系统相关的知识,希望对你有一定的参考价值。
使用场景
我们有个基于jenkens的 CI,每天都会测试很多太不同的服务器,产生很多的数据,收到很多邮件,情况是数据太分散,还需要人为的花费很多时间去分析处理,由此产生的数据集中化,分析处理后,按需报告的系统。
报告结果
下面是按照我们的需求对每个测试case的分析结果部分展示
这个文件是使用pandas处理生成的,每天相关人员都会收到一个邮件附件是上面的报告文件,根据需求把各项数据进行处理。
技术实现
pandas
pandas 做excel文件的统计,分析,再组织的工作。
all_data = pd.ExcelFile(final_file)
datacase = all_data.parse('daecaseinfo')
restful api github/jira/bickbucket/jenkens/testrail
从jira上抓取issue的owner , status
从jenkens 上抓取CI 原始测试数据
从testrail 上抓取case的描述,状态信息
docker & crontab
在一个稳定server上面创建一个容器,把写好的程序放进去,这里建议把文件设置成共享模式,然后再docker里面启动
crontab 服务,定时执行
# run test result analysis everyday 10:00
00 10 * * * echo `date` > /tmp/testresult.txt && /usr/local/bin/python /share/utilities/testresult_analysis.py >t.txt 2>&1
# send result email everyday 10:30
30 10 * * * echo `date` > /tmp/testemail.txt && /usr/local/bin/python /share/utilities/send_email.py >> /tmp/test.txt
这样每天就可以收到一个集中式的分析报告
以上是关于自动化CI分析报告系统的主要内容,如果未能解决你的问题,请参考以下文章
python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
在批准报价、运行报告、生成 PDF 并发送带有 PDF 作为附件的电子邮件