使用 HTMLTestRunner 模块生成HTML格式的测试报告文件

1.下载HTMLTestRunner.py

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告。HTMLTestRunner 是在 BSD 许可证下发布。
下载 地址:http://tungwaiyip.info/software/HTMLTestRunner.html

Windows :将下载的文件放入Python34的安装目录...\Python34\Lib 目录下

2.导入 htmltestrunner 模块包

1 from HTMLTestRunner import HTMLTestRunner
2 import unittest
3 from time import strftime 或者import time,datetime
4 import os
5 from email.mime.text import MIMEText
6 
7 from email.mime.multipart import MIMEMultipart  # 邮件格式
8 
9 from email.mime.image import MIMEImage  # 发送带图片邮件

3.定义测试用例路径

test_dir = './testcase/'

或者

list_1 = 'test_case\\testcase'

4.查找元素(testcase)

discover = unittest.defaultTestLoader.discover(test_dir,'*case.py')

5.定义测试报告文件名以及取前面时间加入到测试报告文件名中

# 定义报告存放路径,支持相对路径

file_name = './report/' + strftime('%Y_%m_%d_%H_%M_%S') + '.html'

6.创建文件

fp = open(file_name,'wb')
HTMLTestRunner(stream=fp,description='描述',title='标题').run(discover)

7.关闭文件

fp.close()

附件:

# -*- coding: utf-8 -*-

import unittest
from HTMLTestRunner import HTMLTestRunner
import time,os,datetime
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage



# 取test_case文件夹下所有用例文件
def creatsuitel(lists):
    testunit = unittest.TestSuite()
    # discover 方法定义
    discover = unittest.defaultTestLoader.discover(lists, pattern='start_*.py', top_level_dir=None)
    #discover 方法筛选出来的用例,循环添加到测试套件中
    for test_suite in discover:
        for test_case in test_suite:
            testunit.addTests(test_case)
            print(testunit)
    return testunit
list_1 = 'test_case\\test_case_1'
alltestnames = creatsuitel(list_1)

#取前面时间加入到测试报告文件名中
now = time.strftime("%Y-%m-%M-%H_%M_%S", time.localtime(time.time()))
filename = "report\\"+now+'result.html' #定义个报告存放路径,支持相对路径。
fp = open(filename, 'wb')
runner = HTMLTestRunner(stream=fp, title='Report_title', description='Report_description')

if __name__ == "__main__":
    # 执行测试用例集并生成报告
    runner = unittest.TextTestRunner()



猜你喜欢

转载自www.cnblogs.com/yfacesclub/p/8989445.html