1、简介
在使用 unittest 组织和执行用例。可以发现,测试用例的执行结果报告显示如下图:
这时如何生成一个美观和详细的测试报告是当务之急。例如如下的结果,我们就可以通过 HTMLTestRunner 来实现。下面就让我们来认识一下 HTMLTestRunner。
HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML 的测试报告。
2、安装及使用
(1)安装 HTMLTestRunner及修改
首先要下载 HTMLTestRunner.py 文件,将下载的文件放入…\python\Lib 目录下
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
说明:官网的 HTMLTestRunner 是 python2 语法写的,由于我们使用的是 python3,就需要将 HTMLTestRunner.py 改成 python3 的语法。
修改汇总为:
第 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
第 775 行,将 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))
当然,也提供了已经修改好的 HTMLTestRunner,你可以直接使用:链接:https://pan.baidu.com/s/16AgAj7V-cAB5UUqqLqAX7Q 提取码:0e55
(2) 导入 HTMLTestRunner
import HTMLTestRunner
(3)使用 HTMLTestRunner 生成测试报告
将语句 unittest.TextTestRunner().run(alltest),修改成如下部分:
runner=HTMLTestRunner.HTMLTestRunner(stream=outfile,
title="my test report",
description='smoke tests'
)
runner.run(alltest)
HTMLTestRunner 主要有三个参数,参数及含义如下:
stream:测试报告写入文件的存储区域
title:测试报告的主题
description:测试报告的描述
执行 runner 后,将生成测试报告文件由参数 stream 的值 outfile 设定,
outfile 是存放测试报告的路径及文件。
(4)完整的测试用例及报告生成代码
https://blog.csdn.net/Afollower/article/details/100304102