版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39652641/article/details/80609355
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文件查看生成的测试报告