我们做自动化测试,就需要有一个测试报告。
一,下载 HTMLTestRunner
HTMLTestRunner 是 Python 标准库 unittest 单元测试框架的一个扩展,它生成易于使用的HTML测试报告。
下载地址:
http://tungwaiyip.info/software/HTMLTestRunner.html
Windows:将下载的 HTMLTestRunner.py 文件保存至 ...Python37Lib 目录下。
二,修改 HTMLTestRunner
这个是基于 Python2 开发的,为了使其支持 Python3 的环境。需要对其中的部分内容通过编辑器进行修改。
第 94 行
import StringIO
修改为:
import io
第 539 行
self.outputBuffer = StringIO.StringIO()
修改为:
self.outputBuffer = io.StringIO()
第 631 行
print >>>sys.stderr, 'nTime Elapsed: %s' % (self.stopTime-self.startTime)
修改为:
print(sys.stderr, 'nTime Elapsed: %s' % (self.stopTime-self.startTime))
第 642 行
if not ramp.has_key(cls):
修改为:
if not cls in rmap:
第 766 行
uo = o.decode('latin-1')
修改为:
uo = o
第772行
ue = e.decode('latin-1')
修改为:
ue = e
三,生成HTML测试报告
成功生成测试报告!
四,代码分析
首先将 HTMLTestRunner 模块用 ipmort 导入进来。
其次通过 open() 方法以二进制写模式打开当前目录下的 result.html, 如果没有,则自动创建该文件。
接着,调用 HTMLTestRunner 模块下的 HTMLTestRunner 类。stream 指定测试报告文件,title 用于定义测试报告的标题,description 用于定义测试报告的副标题。
最后通过 HTMLTestRunner 的run() 方法来运行测试套件中所组装的测试用例。最后通过 close() 关闭测试报告文件。