源码地址:https://github.com/happyletme/requestnew
第三篇地址:https://testerhome.com/topics/15352
https://testerhome.com/topics/13269 的基础上,完善了日志模块,邮件模块,统计分析和 html 报告 (目前采用 HTMLTestRunner 自动生成的报告),失败重跑次数动态配置,定时执行模块,
部署在 linux 上运行(新增启动和关闭的 shell 脚本搭配 jenkins 做持续代码集成和自动部署)。
新增 python 包:
bs4
apscheduler

日志模块
每次执行日志放置在对应的任务目录下,日志名带上对应的时间戳,会有成功日志和失败日志,没有数据则不产生单次执行的错误或者失败日志。成功日志显示步骤名,访问地址 +api,访问方式,headers,传参和返回内容里解析出的 message 信息;错误日志显示步骤名,访问地址 +api,,访问方式,headers,传参和返回内容里解析出的 message 信息,错误断言信息(内部错误的接口不产生在错误日志里,产生在 html 报告里,html 报告采用 HTMLTestRunner)


失败重跑次数
前端执行时输入重跑参数,传给 django 后端,修改 uniittest 源码方式改变执行次数

定时执行模块
执行方式分为直接执行或者采用正则调度执行(方式跟 jenkins 上的定时任务配置基本一致,规则是:minute0-59 hour0-23 day1-31 month1-12 day_of_week0-6),采用正则调度执行时,所有配置数据先入库等待调度

报告统计分析输出(借鉴别人的图片,图片展示的也做的比我好看,本来想指出,找不到借鉴人了)
前端展示用例数,定时任务数,总的错误数,今日反馈数,最后 5 次执行情况(总执行数,成功数,接口内部错误数,断言失败数),总的通过数失败数错误断言数比例,总的反馈信息,当天的反馈信息。实现方式,写了个小爬虫,采集自带的报告信息和日志信息,入库,分析,后端数据传到 echart 展示数据。


集成邮件
发送的是 HTMLTestRunner 产生的报告(由于邮件中不能使用 js,成功和失败的步骤在一起时,成功的步骤不能直观的显示出来),和成功和失败日志

最后是 linux 上的部署安装
进行数据库迁移后,在根目录下写了一个启动和关闭脚本,日志指定根目录上级 logs 目录下的 request.log 文件内

小菜鸟的我写完了,希望各位大佬指点


↙↙↙阅读原文可查看相关链接,并与作者交流