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

向阳 · 2018年09月11日 · 最后由 向阳 回复于 2018年11月02日 · 2464 次阅读

背景

一直使用 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 条回复 时间 点赞
向阳 #18 · 2018年11月02日 Author
胡适 回复

好的 👍🏻

向阳 回复

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

胡适 回复

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


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

胡适 回复

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

发现一 bug

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

向阳 回复

可以了,非常感谢

向阳 回复

好的,我看看

又改了下你再看看

向阳 回复


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

向阳 #11 · 2018年10月23日 Author

@lwq6783293 代码我也修改提交了

letme 回复

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

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

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



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



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

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