欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用HTMLTestRunner.py生成测试报告

程序员文章站 2022-05-14 18:51:15
...

1、如何收集测试结果?

        使用第三方封装好类HTMLTestRunner.py生成HTML测试报告

# encoding:utf-8
import unittest
import time
from HTMLTestRunner import HTMLTestRunner


class MyTestCase(unittest.TestCase):
    # 每条用例初始化
    def setUp(self):
        self.initdata = "hello allard"

    # 测试用例,以test开头
    def test_something(self):
        self.assertEqual("hello allard", self.initdata)

    # 每条用例执行完后释放资源
    def tearDown(self):
        pass


if __name__ == '__main__':
    # 声明一个suite
    suite = unittest.TestSuite()
    # 从类加载用例集
    cases = unittest.TestLoader().loadTestsFromTestCase(MyTestCase)
    # 添加用例到suite
    suite.addTests(cases)
    # 声明TestRunner
    # myTestRunner = unittest.TextTestRunner(verbosity=2)

    # 生成HTML TestReport
    fp = open("testreport.html", "wb")
    myTestRunner = HTMLTestRunner(stream=fp, title=u"测试报告",
                                  description=u"用例测试情况")
    # 执行Runner
    myTestRunner.run(suite)
    # 关闭文件流
    fp.close()

2、如何管理测试报告?

        把所有执行的测试结果都收集起来,以时间戳作为报告的名称,存到某一个路径下就可以实现对Report管理。

# 将上面脚本中“生成HTML TestReport”代码改成如下:
now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())
HtmlFile = "report/" + now + "_Report.html"
fp = open(HtmlFile, "wb")
myTestRunner = HTMLTestRunner(stream=fp, title=u"测试报告",
                              description=u"用例测试情况")
# 执行Runner
myTestRunner.run(suite)
# 关闭文件流
fp.close()