zoukankan      html  css  js  c++  java
  • 4-生成测试报告--HTMLTestRunner

    HTMLTestRunner是Python标准库的unittest模块的扩展。它生成易于使用的HTML测试报告。

    下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
    下载完成后,放到我们的代码文件中,使用的时候直接调用就可以了。

    1-测试报告生成步骤说明:

    1. 复制HTMLTestRunner.py文件到项目文件夹
    2. 导入HTMLTestRunner、UnitTest包    
    3. discover加载要执行的用例
          (discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py"))
    4. 设置报告生成路径和文件名
       (file_name=file_dir+nowtime+"Report.html")
    5. 打开报告 with open(file_name,'wb') as f:
    6. 实例化HTMLTestRunner对象:runner=HTMLTestRunner(stream=f,[title],[description])
        参数说明:
                   (stream:文件流,打开写入报告的名称及写入编码格式)
                   (
                           [],为可选;
                           title为报告标题,如XXX自动化测试报告
                           description:为说明;比如操作系统、浏览器等版本
                   )
    7. 执行:runner.run(discover)
    

    2.1-编写测试用例案例--实现代码 (我们在用例中添加注释。这样的话就会生成了详细内容,具体效果看最后的生成测试报告图片)

    import unittest
    
    
    def add(a, b):
        return a + b
    
    
    class TestCase01(unittest.TestCase):
        def testcase_01(self):
            """测试的数据是'1 + 1 =', add(1, 1)"""
            print('testcase_01')
            print('1 + 1 =', add(1, 1))
    
        def testcase_02(self):
            """测试的数据是'6 + 8 =', add(6, 8)"""
            print('testcase_02')
            print('6 + 8 =', add(6, 8))
    
        def testcase_03(self):
            """故意将断言设置错误"""
            print('testcase_02')
            print('10 + 8 =', add(10, 8))
            self.assertEqual(2, add(10, 8))
    
    

    2.2-生成测试报告--实现代码

    from tools.HTMLTestRunner import HTMLTestRunner  # 从你的文件中把这个第三方模块导出来
    import unittest
    from untest_07 import TestCase01
    
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TestCase01))
    
    # HTMLTestRunner 内置了 TextTestRunner方法
    
    # 定义生成的报告存放目录
    file_dir = "./reports/"
    # 定义报告名字
    name = '测试报告.html'
    
    # 报告完整路径和名称
    file_name = file_dir + name
    
    with open(file_name, "wb") as f:
        # 实例化HTMLTestRunenr对象,传入报告文件流f;  description: 对报告的描述,根据自己想法写
        rep = HTMLTestRunner(stream=f, title='测试报告', description='windows chrome')
        rep.run(suite)
    
    

    2.3-生成的测试报告--最终效果

    坚持,坚持,坚持…… 在你选择不放弃的那一刻, 成功其实已经在向你走近 我们无法得知什么时候会来临 但我们可以选择用自强的双手敲开幸福的门。
  • 相关阅读:
    Vue demo
    netcore使用IOptions
    CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”
    vs删除空白行 注释
    RabbitMQ入门
    EF 大数据量批量处理
    常用链接字符串
    DEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。
    Ubuntu16.04安装MySQL5.7
    ubuntu16.04源码编译安装nginx1.14.2
  • 原文地址:https://www.cnblogs.com/bronyaa/p/14920357.html
Copyright © 2011-2022 走看看