使用Python标准库unittest单元测试框架的一个扩展文件来生成HTML文件:HTMLTestRunner。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
windows将下载的文件保存到:PythonXX\Lib目录下。
在Python交互模式下引入HTMLTestRunner模块,如系统没有报错,则说明添加成功。
1、将HTMLTestRunner模块用import导入进来。
2、通过open()方法以二进制写模式('wb')打开当前目录下的result.html,如果没有,则自动创建。
fp = open('./result.html','wb')
3、调用HTMLTestRunner模块下的HTMLTestRunner类。
stream 指定测试报告文件
title 定义测试报告的标题
description 定义测试报告的副标题
runner = HTMLTestRunner(stream=fp,title='百度搜索测试报告',description='用例执行情况:')
4、通过HTMLTestRunner的run()方法来运行测试套件中的测试用例关闭测试报告文件close()。
# coding=utf-8
import time,os,unittest
from HTMLTestRunner import HTMLTestRunner
class TestRunner(object):
''' Run test '''
def __init__(self, cases="./",title=u'自动化测试报告',description=u'环境:windows 7'):
self.cases = cases
self.title = title
self.des = description
def run(self):
for filename in os.listdir(self.cases):
if filename == "report":
break
else:
os.mkdir(self.cases+'/report')
now = time.strftime("%Y-%m-%d_%H_%M_%S")
fp = open("./report/"+ now +"result.html", 'wb')
tests = unittest.defaultTestLoader.discover("./test_case",pattern='*sta.py',top_level_dir=None)
runner = HTMLTestRunner(stream=fp, title=self.title, description=self.des)
runner.run(tests)
fp.close()
def debug(self):
tests = unittest.defaultTestLoader.discover(self.cases, pattern='*sta.py', top_level_dir=None)
runner = unittest.TextTestRunner()
runner.run(tests)
if __name__ == '__main__':
test = TestRunner()
test.run()