加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python3使用HTMLTestRunner生成测试报告

发布时间:2020-12-20 10:01:42 所属栏目:Python 来源:网络整理
导读:自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块HTMLTestRunner。 一:下载 HTMLTestRunner 下载路径:https://pypi.python.org/pypi/HTMLTestRunner?,下载后放到?Python的安装目录Lib?该目录下。 ? ?右键点击 HTMLTestRunner.py 目标另

自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块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代码如下

1 import unittest
2 from HTMLTestRunner  HTMLTestRunner
3 
4 test_dir = './'#当前路径
5 discover = unittest.defaultTestLoader.discover(test_dir,pattern=iot_*.py')iot_*.py表示iot_开头的所有测试用例
6 fp = open("./iot.html",wb")报告存放的路径
7 runner = HTMLTestRunner(stream=fp,title=科信云测试报告',description=测试用例情况:)
8 runner.run(discover)
9 fp.close

?

?四、测试报告生成

运行runtest.py,然后跑完所有的测试用例会自动生成.html的测试报告。

报告如下图:

?

运行期间遇到的问题:博主使用VScode点击运行,一直报下图的时间提示,然后什么也没有发生。后面想起虫师说过的一句话,运行python程序有问题可能是编辑器的问题,最可信的办法是使用CMD终端

运行python文件,于是问题终于解决了。在这里感谢一下虫师的指导。

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读