HTMLTestRunner下载安装及用法
1. 说明
HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告
本文针对Python2.7版本, 那么对于Python3.x的使用,需要改动几处。见 6. 适配Python3
2. 下载
下载HTMLTestRunner.py文件,地址为:
3. 安装
安装方法区分平台
Windows平台: 将下载的文件放入…\Python27\Lib 目录下 Linux平台: 下需要先确定 python 的安装目录,打开终端,输入 python 命令进入 python 交互模式,通过 sys.path 可以查看本机 python 文件目录,以管理员身份将 HTMLTestRunner.py 文件考本到/usr/lib/python2.7/dist-packages/ 目录下
4. 使用
import HTMLTestRunnerclass UCTestCase(unittest.TestCase): def setUp(self): pass def tearDown(self): pass def testCreateFolder(self): pass def testDeleteFolder(self): passif __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, ‘\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: 第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:\Python36\Lib目录中,
检验是否加载成功,在Python IDLE 中输入 import HTMLTestRunner 若无报错,那么加载成功。
6.1 修改后源码下载地址:
将下载的HTMLTestRunner.py放到C:\Python36\Lib目录中,
检验是否加载成功,在Python IDLE 中输入 import HTMLTestRunner 若无报错,那么加载成功。