unittest中HTMLTestRunner和BeautifulReport测试报告

HTMLTestRunner测试报告

#coding=utf-8

# 下面是HTMLTestRunner作用于整个项目的方法
#单线程测试

import unittest
import time
from HTMLTestRunner import HTMLTestRunner
from framework_Var_A.var_A import *
import os
test_dir = testcase_path
# 指定测试用例所在的目录

#创建测试套件
suite=unittest.TestSuite()

# 查找测试用例目录里的用例,赋值给discover
discover = unittest.defaultTestLoader.discover(testcase_path, pattern='test_*.py')

#测试用例添加到套件
suite.addTest(discover)

if __name__ == "__main__":
    # 获取当前时间并格式化
    now = time.strftime('%Y-%m-%d %H-%M-%S')
    # 指定测试报告的存放路径,文件名中加了当前时间,以便每次生成不同的报告
    reportfile = os.path.join(report_path, now + 'result.html')

    # 打开报告
    fp = open(reportfile, "wb")
    # 定义报告存放路径
    runner = HTMLTestRunner(stream=fp, title=u"测试报告", description=u"用例执行情况:")

    runner.run(suite)
    # 执行测试用例
    fp.close()
    # 关闭报告文件,不关的话生成的报告是空的

 

BeautifulReport测试报告
from BeautifulReport import BeautifulReport
from framework_Var_A.var_A import *
import unittest
import time
import os

suite_tests = unittest.defaultTestLoader.discover(testcase_path, pattern="test_*.py", top_level_dir=None)
# testcase_path表示测试用例所在目录,"test_*.py"匹配用例目录下所有test_.py开头的用例

# BeautifulReport(suite_tests).report(filename='百度测试报告', description='搜索测试', log_path='.')
# #log_path='.'把report放到当前目录下


if __name__ == '__main__':
    # now = time.strftime("%Y-%m-%d %H%M%S", time.localtime(time.time()))

    # 获取当前时间并格式化
    now = time.strftime('%Y-%m-%d %H-%M-%S')
    # 文件名中加了当前时间,以便每次生成不同的报告
    Beautifulfile = os.path.join(now + 'Beautiful.html')

    # 执行测试用例生成报告,并定义报告属性
    BeautifulReport(suite_tests).report(filename=Beautifulfile, description='登录测试', log_path=report_path)


 

你可能感兴趣的:(unittest)