使用HTMLTestRunner生产报告

HTMLTestRunner下载安装及用法

1. 说明

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告
本文针对Python2.7版本, 那么对于Python3.x的使用,需要改动几处。见 6. 适配Python3

2. 下载

下载HTMLTestRunner.py文件,地址为:
http://tungwaiyip.info/software/HTMLTestRunner.html

3. 安装

安装方法区分平台
Windows平台:
将下载的文件放入…Python27Lib 目录下
Linux平台:
下需要先确定 python 的安装目录,打开终端,输入 python 命令进入 python 交互模式,通过 sys.path 可以查看本机 python 文件目录,以管理员身份将 HTMLTestRunner.py 文件考本到/usr/lib/python2.7/dist-packages/ 目录下

4. 使用

import HTMLTestRunner

class UCTestCase(unittest.TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def testCreateFolder(self):
        pass

    def testDeleteFolder(self):
        pass

if __name__ == "__main__":
    # 定义一个单元测试容器
    testsuite = unittest.TestSuite()

    # 将测试用例加入到测试容器
    testsuite.addTest(UCTestCase("testCreateFolder"))
    testsuite.addTest(UCTestCase("testDeleteFolder"))

    # 获取当前时间,这样便于下面的使用。
    now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time()))

    # 打开一个文件,将result写入此file中
    filePath = "C://PythonProject//py2//debug_HTMLtestRunner//Result" + now + ".html"
    fp=open(filePath ,"wb") 
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='test result', description=u'result:')

    #执行测试用例
    runner.run(testsuite)

    #关闭文件
    fp.close()

5. 测试报告展示

名称展示:

这里写图片描述

内容展示:

这里写图片描述

6. 适配Python3

具体改动如下:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()
第631行,将print >> sys.stderr, ‘ Time Elapsed: %s’%(self.stopTime-self.startTime)修改成print(sys.stderr, ‘ TimeElapsed: %s’ % (self.stopTime-self.startTime))
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第767行,将uo = o.decode(‘latin-1’)修改成uo = e
第775行,将ue = e.decode(‘latin-1’)修改成ue = e
第779行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),

注意:行数可能因为版本不同出现略微误差

将上述几处改动,保存成功后,再将HTMLTestRunner.py放到C:Python36Lib目录中,
检验是否加载成功,在Python IDLE 中输入
import HTMLTestRunner
若无报错,那么加载成功。

6.1 修改后源码下载地址:

https://pan.baidu.com/s/1c2OyyPE

将下载的HTMLTestRunner.py放到C:Python36Lib目录中,
检验是否加载成功,在Python IDLE 中输入
import HTMLTestRunner
若无报错,那么加载成功。

原文地址:https://www.cnblogs.com/haitao130v/p/9664668.html