zoukankan      html  css  js  c++  java
  • (六)自动生成测试报告

    原文链接:https://www.cnblogs.com/eastonliu/p/9147075.html

    用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告。

    unittest自带的测试报告是文本形式的,如下代码:

    import unittest
    
    if __name__ == "__main__":
        # 测试用例目录
        test_dir = r"D:GitTest_Framework	est_case"
        # 加载测试用例
        discover = unittest.defaultTestLoader.discover(test_dir, 'test*.py')
        # 测试报告路径
        report_path = r"D:GitTest_Framework
    eport
    eport.text"
        with open(report_path,"a") as report:
            runner = unittest.TextTestRunner(stream=report,verbosity=2)
            runner.run(discover)
    

    生成的txt测试报告如下:

    这种TXT文件测试报告不能直观地展示用例执行情况,引入第三方模块HTMLTestRunner,可以展示一份优美的html格式的测试报告。

    下面我们就来介绍下HTMLTestRunner模块

    HTMLTestRunner模块不能通过pip安装,必须先下载下来下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

     

    直接右键另存为就行了,下载完成后放到python安装目录下的../Python36Lib

    因为HTMLTestRunner模块是基于Python2开发的,目前停止更新了,在Python3上运行会报错。为了使其支持Python3环境,需要对其中的部分内容进行修改:

    第94行,将import StringIO修改成import io

    第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()

    第631行,将print >> sys.stderr, ‘ Time Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘ TimeElapsed: %s‘ % (self.stopTime-self.startTime))

    第642行,将if not rmap.has_key(cls):修改成if notcls in rmap:

    第766行,将uo = o.decode(‘latin-1‘)修改成uo = e

    第775行,将ue = e.decode(‘latin-1‘)修改成ue = e

    修改完成后保存。

    现在我们就可以生成一份优美的测试报告了

    代码:

    import unittest
    from HTMLTestRunner import HTMLTestRunner
    
    if __name__ == "__main__":
        # 测试用例目录
        test_dir = r"D:GitTest_Framework	est_case"
        # 加载测试用例
        discover = unittest.defaultTestLoader.discover(test_dir, 'test*.py')
        # 测试报告路径
        report_path = r"D:GitTest_Framework
    eport
    eport.html"
        with open(report_path,"wb") as report:
            runner = HTMLTestRunner(stream = report,
                                    title = "测试报告",
                                    description = "系统登录测试用例执行")
            runner.run(discover)
    

      

  • 相关阅读:
    RabbitMQ核心组件及应用场景
    集群架构和CentOS7安装RabbitMQ集群(单机版)
    CentOS7下安装单机版RabbitMQ及权限赋予
    Spring事务管理
    java服务器图片压缩的几种方式及效率比较
    Spring中通过java的@Valid注解和@ControllerAdvice实现全局异常处理。
    go语言调度器源代码情景分析之三:内存
    go语言调度器源代码情景分析之二:CPU寄存器
    go语言调度器源代码情景分析之一:开篇语
    面试官:swoole 的认识和强大之处你不知道?回去吧!!!
  • 原文地址:https://www.cnblogs.com/lvchengda/p/13176826.html
Copyright © 2011-2022 走看看