python3使用HTMLTestRunner生成测试报告
自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块HTMLTestRunner。
一:下载 HTMLTestRunner
下载路径:https://pypi.python.org/pypi/HTMLTestRunner ,下载后放到 Python的安装目录\Lib 该目录下。
右键点击 HTMLTestRunner.py 目标另存为python的Lib的路径下。
二、修改HTMLTestRunner.py文件
如果你安装的是python2版本,那么不需要做这一步。因为HTMLTestRunner.py 原本就是python2版本,目前还没找到python3版本,所以需要我们自己修改 HTMLTestRunner.py 文件
修改内容如下:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode('latin-1')修改成uo = e
第772行,将ue = e.decode('latin-1')修改成ue = e
第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
其中,Python3中,已经没有StringIO了。取而代之的是io.StringIO。
三、实例代码
测试用例存放路径如下
runtest.py代码如下
四、测试报告生成
运行runtest.py,然后跑完所有的测试用例会自动生成.html的测试报告。
报告如下图:
运行期间遇到的问题:博主使用VScode点击运行,一直报下图的时间提示,然后什么也没有发生。后面想起虫师说过的一句话,运行python程序有问题可能是编辑器的问题,最可信的办法是使用CMD终端
运行python文件,于是问题终于解决了。在这里感谢一下虫师的指导。
如果报告生成太多都是同一个名字就会进行覆盖掉,现在我们需要用时间来命名,又能方便看到最新的报告生成时间。
报告生成如下:
五、测试报告优化
经过上面已经能生成完整的测试报告了,从无到有,后面需要从有到优。下面我需要制作一份漂亮的测试报告。
我们已经不是第一个吃螃蟹的人了,已经有人帮我们优化了官方的HTMLTestRunner的测试报告模板并且直接兼容python3了,不需要重复造轮子了,感谢前辈无私奉献。
下面直接借用大佬的demo教程,演示一下。
下载地址:https://github.com/SeldomQA/HTMLTestRunner
HTMLTestRunner for Python3
HTMLTestRunner:http://tungwaiyip.info/software/HTMLTestRunner.html
介绍: HTMLTestRunner是针对Python2.x的unittest单元测试框架用于生成HTML测试报告的扩展。但是,它并不支持Python3.x,所以,我做了一点小小的修改,使其可以在Python3下使用。
1|0install
2|0demo
查看测试报告,比原生的漂亮了不少,作者还集成了发邮件功能。
报告生成完了,全英文版对于英语差的朋友阅读不是非常直观,于是我又修改了源码的显示部分。
汉化版的源码包下载地址:https://github.com/hy546880109/HTMLTestRunner
邮件发送:
首先需要获取到邮箱的授权码,这里以QQ邮箱为例。
发送测试报告到邮箱code:
运行后查看结果:
__EOF__

本文链接:https://www.cnblogs.com/harry66/p/12078784.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文来自博客园,作者:Harry_666,转载请注明原文链接:https://www.cnblogs.com/harry66/p/12078784.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?