Python中如何搭建一个测试结果展示平台
需求是搭一个测试结果展示平台,能展示每个版本的测试结果,测试 case 可以根据实际测试的内容输入展示。
最好能和 CI 链接起来(应该是数据库吧)
自己有点 python 基础,但是没做过前后端,可以学着自己做。
想问问大佬们,有没有类似的框架,或者思路。
我现在的测试已经有 Jenkisn,能输出一些数据,或者发邮件。比较简单
后续的思路就是上面说的。
Python中如何搭建一个测试结果展示平台
刚才有个 idea,所有测试结果传入 VPS,做个小程序什么的,岂不是更吊
要搭建一个Python测试结果展示平台,核心是选对工具链。我推荐用 pytest 运行测试,用 pytest-html 或 Allure 生成报告,再用 Flask 或 FastAPI 做个简单的Web服务来展示。
下面是一个最直接的例子,用 pytest-html 生成静态HTML报告,然后用Python内置的HTTP服务器快速启动一个本地站点来查看:
-
安装依赖:
pip install pytest pytest-html -
写个简单的测试文件
test_sample.py:def test_addition(): assert 1 + 1 == 2 def test_subtraction(): assert 5 - 3 == 2 -
运行测试并生成HTML报告:
pytest test_sample.py --html=report.html --self-contained-html这会在当前目录生成一个独立的
report.html文件。 -
用Python快速启动一个Web服务器来展示(在报告所在目录运行):
# Python 3 python -m http.server 8000然后在浏览器打开
http://localhost:8000/report.html就能看到了。
如果你想更自动化、更美观,并且能记录历史,可以上 Allure。流程是:pytest 运行测试生成原始数据 -> Allure 转换数据生成交互式报告 -> 用Web服务器托管生成的 allure-report 文件夹。很多公司的CI/CD流水线就是这么干的。
总结:用 pytest-html 快速出静态报告,用 Allure 做专业交互式看板。
为什么这么多年都没有一个相对成熟的平台或者产品,你有考虑过吗?
建议你可以先从用例管理或者测试报告入手,只做一下纯静态的页面试试。考虑一下怎么满足各种场景,比如手工测试、自动化测试(包括各种语言的框架集成)、性能测试等等。再然后,再考虑怎么把整个流程做成闭环。
这种需求后台一般也不会太复杂。
大概因为,对于测试来说,发现问题是第一位的,展示功能永远都是锦上添花吧
testlink 满足需求吗?
pytest+allure+jenkins 或者如果你能直接推动上 gitlab 流水线一波走

