介绍一个我最近开源的小工具,它的名字是conport,用于在回归测试,持续测试,稳定性测试等项目中自动化地生成和推送总结报告。conport 的 github 地址是https://github.com/slxiao/conport。工具开源几天以来,下载量超过 1k,star 数量也快 10 个了。欢迎大家来 STAR,提 comments,一起完善 conport。
conport 的主要功能是从持续测试平台 (例如 Jenkins) 中自动采集指定测试任务的构建结果和标准化测试结果,然后对结果进行加工,生成可视化的图形和表格,最后以 HTML 或邮件的形式展示出来。
具体来说,conport 收集和展示的数据包括:测试构建趋势图,测试构建核心指标,测试用例失败率,测试用例效率指标等。这些数据反映了一段周期内自动化测试的整体执行情况,并将高失败率的测试用例突出显示,从而指出下一步的行动方向。
conport 同时支持中文报告和英文报告
在回归测试,持续测试,稳定性测试等场景下,我们经常需要生成一份反映测试执行情况的报告。由于这些场景一般都是周期性的,因此手动生成报告不可持续,需要的是一个自动化的报告生成器,并支持报告推送功能。
用自动化脚本实现这一需求,技术上难度不大,相信许多人在过往的项目中已有这方面的实践。但是总的来说,仍然缺乏一个开源和通用的工具。在不同项目中重复造功能类似的轮子,不是一种高效的行事方式。
conport 的目的,就是希望提供这么一个工具!
conport 的安装命令为:
pip install conport
安装成功之后,就可以在控制台使用 conport 命令了。执行 conport -h,可以查看使用方法和命令行参数含义。具体示例可以参考 README 中的说明。
usage: conport [-h] [--job_url JOB_URL] [--report_title REPORT_TITLE]
[--past_hours PAST_HOURS] [--send_email SEND_EMAIL]
[--mail_host MAIL_HOST] [--mail_user MAIL_USER]
[--mail_pwd MAIL_PWD] [--sender SENDER] [--receivers RECEIVERS]
[--receivers_cc RECEIVERS_CC] [--pure_html PURE_HTML]
[--version]
optional arguments:
-h, --help show this help message and exit
--job_url JOB_URL Jenkins job url
--report_title REPORT_TITLE
continuous testing report title
--past_hours PAST_HOURS
number of past hours to be monitored
--send_email SEND_EMAIL
whether to send email or not
--mail_host MAIL_HOST
email host
--mail_user MAIL_USER
email user
--mail_pwd MAIL_PWD email password
--sender SENDER email sender
--receivers RECEIVERS
email receivers, format is receiver1, receiver2, ...
--receivers_cc RECEIVERS_CC
email receivers cc, format is receivercc1,
receivercc2, ...
--pure_html PURE_HTML
pure html or not
--version print version
在开发 conport 的过程中,得益于 Python 的强大生态,虽然踩过很多坑,但是总体顺利,难度不大。将 conport 开发环境和产品环境中所主要依赖的 Python 库列举如下:
最后,感谢大家阅读。欢迎和我一起完善 conport: https://github.com/slxiao/conport。谢谢!