Python生成HTML测试报告

HTMLTestRunner是Python标准库提供unittest单元测试框架的一个扩展,他生成易于使用的HTML测试报告。这个扩展只是一HTMLTest Runner.py 文件

1.下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
        (选中该py文件,单击鼠标右键,另存为本地)
2.安装方法:将下载的文件保存到..\python35\Lib目录下
  • 1
  • 2
  • 3
  • 4

修改HTMLTestRunner.py文件(因为HTMLTestRunner是基于Python2开发的)

3. 修改办法:     

第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, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime))
第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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

代码如下:

#unittest测试框架
import unittest
from HTMLTestRunner import HTMLTestRunner
import time
class Test(unittest.TestCase):
    #用于测试用例执行前的初始化工作
    def setUp(self):
        print("test start")

    def test_bbb(self):
        print("test bbb")

    def test_aaa(self):
        print("test aaa")       
    #用于测试用例执行之后的善后工作
    def tearDown(self):
        print("test end")
if __name__ == '__main__':

    suite=unittest.TestSuite()
    suite.addTest(Test("test_bbb"))
    suite.addTest(Test("test_aaa"))
    now=time.strftime("%Y-%m-%d %H_%M_%S")
    #定义报告存放路径
    filename='D:\ '+ now +'result.html'
    fp=open(filename,'wb')
    #定义测试报告
    runner=HTMLTestRunner(stream=fp,title='测试报告',description='用例执行情况:')
    runner.run(suite)
    fp.close()#关闭报告文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

用例执行完成后,打开result.html文件查看生成的测试报告 
这里写图片描述

你可能感兴趣的:(python)