接口测试 接口自动化 是 pytest 结合 allure 生成报告问题

ghclzscy · 2024年10月18日 · 最后由 派大星 回复于 2024年10月22日 · 6152 次阅读

每执行一次 都会有一个几 m 的文件数据 ,请问有啥好办法解决吗 因为领导想看所有的结果
后续是不是报告数据存在数据库会好一点 ,但是有问题 在数据库的没办法做成 allure 的报告页面效果

请问大家有啥好的处理办法吗?

共收到 14 条回复 时间 点赞

打包压缩存到 oss

换个报告插件呗,目前在用 pytest-testreport,自己改了改源码,放到 Jenkins 里集成,还挺合适的。

allure 生成报告其实就是个本地的静态 html,使用 allure 原生报告改造成本最低
方案:
1、可以把每次执行生成 allure 生成报告传到指定文件服务器,并在数据库设置张表记录报告的文件服务器路径,执行等信息
2、然后提供一个集中的入口可以展示所有执行的报告记录,比如 XXX 功能 2024-10-18 14:00:00 报告,点击报告可以在线预览报告
PS:个人觉得把报告用邮件的发送方式是最愚蠢的行为,为什么呢?作为一个管理者每天的邮件是很多的,你难道还要我每天去翻看吗?年底汇报时候要能够直观的数据,说我今年总共执行了这么多次,一目了然

没看懂 能详细说一下吗

是要合并测试报告吗

只要持续集成服务器硬盘足够大,你可以存放所有版本的测试报告,至于把日志存储到数据库。这个想法太蠢了,你问问开发的阿里云日志会一直存着吗?如果日志有用你应该在测试运行时就添加 hook,然后去把他转为可分析的结构数据。单纯日志只有在 case 失败时才会产生作用。毕竟我们只想看到持续集成全部都通过而不是看一堆日志。

上官一 回复

不是合并 每次执行都会生成 xml 再转换成 html 文件,然后点击 html 路径查看 本次接口所有用例的执行结果

allure 可以保存每次执行的结果 这样执行几百上千次之后 文件就会越来越多 因为是在同一个目录 整个项目会越来越大

不好上传到 gitlab

几 M 的数据不算大吧,尤其现在动不动几 B、T 的数据量。你这是有什么存储或者传阅的具体困难吗

肯定不是把日志存数据库的 我是想把报告路径存数据库 然后每次的执行总览结果存在数据库 就像楼上说的 后面准备用 fastapi 写个服务 统计结果 通过平台方式展示一下

ghclzscy 回复

其实测试报告没必要上传到 gitlab 吧
如果必须要上传,还是要分目录

fox 回复

我目前是每次执行在群里发下消息 我领导未必每次都会点进去看(群可能都屏蔽消息了)他只要知道执行多少 case 没报错就行 后续执行结果的统计以及展示是我后续要做的事情

联想到前几天测试机 C 盘莫名其妙爆红,最后发现是一个高频巡检的测试任务,每次都会生成新的 allure 报告存盘😅

ghclzscy 回复

这个看你们的需求了,日志就好好呆在日志服务器就行了,然后定期清除,我一般就留 10 次日志多的不看还留着干嘛。

非得 allure 吗,花里胡哨的,pytest-html 不行嘛,还有要弄清楚领导究竟关注的是什么

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册