import unittest
from datetime import datetime # 获取时间模块
from test.HTMLTestRunnerNew import HTMLTestRunner # 导入报告模板
# 创建自动识别套件,加载测试用例
one_suite = unittest.defaultTestLoader.discover(".") # .代表获取当前py文件所在的路径的测试用例,也可以使用绝对路径
# 指定HTML报告生成的路径及文件名+报告名中显示具体时间
report_full_path = "./reports/" + "report_" + datetime.strftime(datetime.now(), "%Y-%m-%d %H-%M-%S") + ".html"
# # 方法一
# # 打开的文件对象传给save_to_file
# save_to_file = open(report_full_path, mode='wb')
# # 读写文件
# one_runner = HTMLTestRunner(stream=save_to_file,
# title="xxx项目自动化测试",
# verbosity=2,
# description="xxx功能回归测试",
# tester="mengjian")
# one_runner.run(one_suite) # 使用加载器run方法来运行套件
# save_to_file.close() # 关闭文件
# 方式二:推荐使用
# 使用with 上下文管理,open打开文件,mode='wb':以二进制写入 as 接受返回的对象
with open(report_full_path, mode='wb') as file:
# HTMLTestRunner:相当于创建HTML运行器a
# stream默认输入到控制台,指定输出到文件对象stream=save_to_file
# title=报告的标题
# verbosity=是为了指定报告的详细程度, 0, 1, 2=最详细
# description=报告的描述信息
# tester = 测试人员的名字
# runner 创建执行器对象
one_runner = HTMLTestRunner(stream = file,
title="xxx项目自动化测试",
verbosity=2,
description="xxx功能回归测试",
tester="mengjian")
one_runner.run(one_suite)