Python用HTMLTestRunner生成html测试报告

Posted __你的眉宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python用HTMLTestRunner生成html测试报告相关的知识,希望对你有一定的参考价值。

小编的主机:mac

 

一、引入HTMLTestRunner包

  1、下载HTMLTestRunner.py,已上传到网盘,点击下载

  2、将HTMLTestRunner.py复制到python安装目录的Lib文件夹下。

  可能有的人不知道python安装地址的Lib文件夹在哪里。小编用的是mac,放的地址为:/资源库/Frameworks/Python.framework/Versions/3.6/lib/python3.6

  因为看见里面有很多.py结尾的文件,常用到的os.py都在里面,放这里准没错。

 

二、用unittest写测试用例

  具体可参考https://docs.python.org/2/library/unittest.html

 

三、main方法中生成测试报告

 

import unittest
import HTMLTestRunnerNew
import time
import os

class make(unittest.TestCase):

    def __init__(self, methodName=\'runTest\'):
        super().__init__(methodName)
        print("构造函数")

    def test_aaa(self):
        print("aaa")
        self.assertEqual(1, 2)

    def test_bbb(self):
        print("bbb")
        self.assertEqual(2, 2)

    def test_ccc(self):
        print("ccc")
        self.assertEqual(3, 2)

if __name__ == \'__main__\':
    print("main-start")
    s = unittest.TestSuite()  # 实例化
    s.addTests(unittest.TestLoader().loadTestsFromTestCase(make))  # 加载用例
    now = time.strftime(\'%Y-%m-%d %H%M%S\')
    print("main-getcwd")
    filename = open(os.getcwd() + \'/testResult_report\' + now + \'.html\', \'wb\')
    runner = HTMLTestRunnerNew.HTMLTestRunner(
        stream=filename,
        title=\'单元测试报告\',
        description=\'单元测试报告\',
        tester=\'youreyebows\')
    runner.run(s)
    print("main-stop")

  

四、执行main方法

  注意执行时一定不要右键 Run "Unittests in xxx" 因为这个执行的是上面写的继承自unittest的类,例如我这里就是make。

  可以试试哦,控制台不会打印出main方法里的print后的语句。

  执行方法见另一篇博客:Python 同一文件中,有unittest不执行“if __name__ == \'__main__”,不生成HTMLTestRunner测试报告的解决方案

 

五、查看html报告

  (1)在项目下可以看见生成的测试报告,后缀为.html

  

  (2)在chrome打开如图:

   

 

 

 

以上是关于Python用HTMLTestRunner生成html测试报告的主要内容,如果未能解决你的问题,请参考以下文章

为啥python+htmltestrunner生成的测试报告有问题

python3修改HTMLTestRunner,生成有截图的测试报告,并发送测试邮件

为啥python+htmltestrunner生成的测试报告有问题

python3+requests库框架设计07-HTMLTestRunner

关于python-生成HTMLTestRunner测试报告

为啥下面这段python+htmltestrunner的自动化代码执行后,生成的测试报告有问题(见图片)