自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块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
第774行,将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 import 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文件,于是问题终于解决了。在这里感谢一下虫师的指导。
原文:https://www.cnblogs.com/hy546880109/p/12078784.html