zoukankan      html  css  js  c++  java
  • unittest单元测试(测试报告生成)

    自动化测试执行完成之后,我们需要生成测试报告来查看测试结果,使用HTMLTestRunner模块可以直接生产Html格式的报告。

    下载地址:

    http://tungwaiyip.info/software/HTMLTestRunner.html

    下载后的修改:

    • 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, ' Time 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

    注意:该修改针对的是使用Python3的朋友,如果你安装的是Python2,那么就不需要进行修改,直接使用即可。

    存放路径:

    将修改完成的模块存放在Python路径下Lib目录里面即可


     案例:

    在前一篇文章的runtest.py的基础上进行修改,从而得到关于百度搜索的测试报告

    import unittest
    from HTMLTestRunner import HTMLTestRunner
    import time
    test_dir = './test_case'
    
    discovery = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
    
    if __name__ == '__main__':
        # 存放报告的文件夹
        report_dir = './test_report'
        # 报告命名时间格式化
        now = time.strftime("%Y-%m-%d %H_%M_%S")
        # 报告文件完整路径
        report_name = report_dir+'./'+now+"result.html"
    
        # 打开文件再报告文件写入测试结果
        with open(report_name, "wb") as f:
            runner = HTMLTestRunner(stream=f, title='百度搜索测试报告', description='用例执行结果:')
            # 运行测试用例
            runner.run(discovery)
            # 关闭报告文件
            f.close()

    代码分析:
    首先,将HTMLTestRunner模块用import导入进来

    其次,通过open()方法以二进制写模式打开当前目录下的以'当前时间+result.html'(将报告名称以当前时间命名,可以便于我们查看),如果没有,则自动创建该文件

    接着,调用HTMLTestRunner模块下的HTMLTestRunner类。stream指定测试报告文件,title用于定义测试报告的标题,description用于定义测试报告的副标题。

    最后,通过HTMLTestRunner的run()方法来运行测试套件中所组装的测试用例。最后通过close()关闭测试报告文件。


     测试报告:


     美化测试报告

    下载地址:

    https://github.com/easonhan007/HTMLTestRunner

    修改方式,存储路径参照上面

    代码实现:

    和上面一样,除了把HTMLTestRunner换成BSTestRunner

  • 相关阅读:
    1)BS和CS区别
    109)PHP与oracle网址
    8)对于带有 : 的语句
    将位数较多的数字看成是字符串
    7)杂项没整理
    css中的zoom的使用
    CSS布局一
    ul和ol的一些知识
    css中的display
    css中的content的使用
  • 原文地址:https://www.cnblogs.com/NancyRM/p/8385850.html
Copyright © 2011-2022 走看看