通用技术 使用 python 生成 extent report 测试报告

向阳 · September 11, 2018 · Last by 向阳 replied at November 02, 2018 · 5140 hits

背景

一直使用HTMLTestRunner生成app自动化的测试报告内容,虽然加了截图的展示,还是感觉报告不够好看。
allure报告内容可以,但是要以pytest管理测试case,且pytest会执行所有以test_命名的case,测试结果只有在看到测试报告的时候才知道,不太方便。extent report 高大上,但是没有python版本。。 所以动手改了一版。

使用

结合HTMLTestRunner做的改动,页面内容拿的HttpRunnerManager中的测试报告模板(感谢HttpRunnerManager),HttpRunnerManager是直接将结果数据传递给报告,结合原HTMLTestRunner是在执行测试的同时将结果写到测试报告中,功能还不够完善,但是基本功能都已ok;先看效果图:

使用方式和使用HTMLTestRuner方式基本一致。

from ExtentHTMLTestRunner import HTMLTestRunner


filename="/*/result.html"
fp=open(filename,'wb')

runner=HTMLTestRunner(
stream=fp,
title='自动化测试报告',
description='用例执行情况:')

在报告中展示截图:需要在对应的case中打印一下截图名称,截图名称以 screenshot_*.png 格式命名

具体文件 github

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 18 条回复 时间 点赞



你好我本来想集成测试平台里的,发现有点小瑕疵,因为我的报告数据通通过爬取单体测试报告做的,发现这个报告的error显示的也是fail



修改了2块地方发现可以了

@letme 👍 我还没注意到这个地方

请来一篇完整的事例讲解吧,谢谢

letme 回复

第一张图的改动,我找到了,是==号对吗,第二张图的改动在哪里呢?

@lwq6783293 代码我也修改提交了

向阳 回复


用的最新的代码,还是缺少等号

向阳 #10 · October 23, 2018 作者

又改了下你再看看

向阳 回复

好的,我看看

向阳 回复

可以了,非常感谢

发现一bug

在python2.7上用io.StringIO会爆如下错误:unicode argument expected, got 'str',换成io.BytesIO() 就可以了

向阳 #14 · November 02, 2018 作者
胡适 回复

好的,感谢,我再看看,测试不够充分了 😓 报告还有一些功能其实没有加上去,等有时间再填充填充了。


大佬 这布局麻烦优化一下呢,本人对CSS一窍不通😂

向阳 #16 · November 02, 2018 作者
胡适 回复

我记得我把左上角那个隐藏了啊,重叠的问题我再看看(我这暂时还没遇到)。

向阳 回复

我知道问题了,样式文件里面下载了Google的字体库,没有***下载不了,计划下载到本地,不从网上下载

向阳 #18 · November 02, 2018 作者
胡适 回复

好的 👍🏻

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up