在回归测试,持续测试,稳定性测试等场景下,我们经常需要生成一份反映测试执行情况的报告。由于这些场景一般都是周期性的,因此手动生成报告不可持续,需要的是一个自动化的报告生成器,并支持报告推送功能。
用自动化脚本实现这一需求,技术上难度不大,相信许多人在过往的项目中已有这方面的实践。但是总的来说,仍然缺乏一个开源和通用的工具。在不同项目中重复造功能类似的轮子,不是一种高效的行事方式。
最近开源了一个这样的工具,它的名字是conport。conport在我经历的多个自动化测试项目中均承担了测试报告生成和推送任务。conport的github地址是: https://github.com/slxiao/conport。
conport的主要功能是从持续测试平台(例如Jenkins)中自动采集指定测试任务的构建结果和标准化测试结果,然后对结果进行加工,生成可视化的图形和表格,最后以HTML或邮件的形式展示出来。
具体来说,conport收集和展示的数据包括:测试构建趋势图,测试构建核心指标,测试用例失败率,测试用例效率指标等。这些数据反映了一段周期内自动化测试的整体执行情况,并将高失败率的测试用例突出显示,从而指出下一步的行动方向。
一个demo报告截图如下:
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库列举如下:
更多的介绍就不赘述,可以参考README,它还是写得比较详细的。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理