一、python2的HTMLTestRunner下载地址:
http://tungwaiyip.info/software/HTMLTestRunner.html
二、如需在python3使用的话,需要进行修改
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, '\nTime Elapsed: %s' %(self.stopTime-self.startTime))
642行,if not rmap.has_key(cls): 需要换成 if not cls in rmap:
766行的uo = o.decode('latin-1'),改成 uo=o
772行,把 ue = e.decode('latin-1') 直接改成 ue = e
存放路径:
把修改完成的模块放入Python路径下Lib目录。
例子如下:
#引入HTMLTestRunner包
import HTMLTestRunner
if __name__ == "__main__":
#unittest.main()
testsuite = unittest.TestSuite()
testsuite.addTest(So("test_so"))
#定义个报告存放的路径,支持相对路径
report_path = './report'
# 报告命名时间格式化
now = time.strftime("%Y%m%d %H%M%S")
# 报告文件完整路径
report_name = report_path+'./'+now+"result.html"
fp=open(report_name,'wb')
#定义测试报告
runner=HTMLTestRunner.HTMLTestRunner(stream = fp,
title = u'360search Test Report',
description=u'360search Autotest Report.'
)
#运行测试用例
runner.run(testsuite)
fp.close()
代码分析:
第1步,将HTMLTestRunner模块用import导入进来
第2步,创建报告的当前目录,相对路径
通过open()方法以二进制写模式打开当前目录下的以'当前时间+result.html'(将报告名称以当前时间命名,便于查看),如果没有,则自动创建该文件
接着,调用HTMLTestRunner模块下的HTMLTestRunner类。stream指定测试报告文件,title用于定义测试报告的标题,description用于定义测试报告的副标题。
最后,通过HTMLTestRunner的run()方法来运行测试套件中所组装的测试用例。最后通过close()关闭测试报告文件。
例子代码: