Python_生成HTMLTestRunner测试报告
HTMLTestRunner是Pyhton标准库的的unittest模块的一个扩展
方式一:
一、安装HTMLTestRunner,它可以生成HTML的测试报告。
首先要下载HTMLTestRunner.py文件,将下载的文件放入....\python\lib目录下
python的默认安装路径:
二、代import unittest,HTMLTestRunner
from dingtalkchatbot.chatbot import DingtalkChatbot #钉钉机器人
import datetime
import time
import os
def creatSute():
suite=unittest.TestSuite() #创建测试套件
#递归查到子目录下名称以test开头的测试用例,只有匹配到文件名才能被加载;如果启动的不是顶层目录,那么顶层目录必须要单独指定,如果没有顶层目录,默认为None
all_cases=unittest.defaultTestLoader.discover('testCase','test*.py',top_level_dir=None)
for test_case in all_cases:
for case in test_case:
suite.addTests(case) #把所有的测试用例添加进来
print(suite)
return suite
# 获取系统当前时间
nowTime=time.strftime("%Y-%m-%d %H%M%S",time.localtime())
#设置html报告的名称
filename="D:\\program\\Study\\autoAPP\\testReports\\"+nowTime+"_result.html"
fp=open(filename,'wb')
#定义 HTMLTestRunner 测试报告,stream 定义报告所写入的文件;title 为报告的标题; description 为报告的说明与描述
runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=u"接口自动化测试报告",description=u"用例执行情况")
runner.run(creatSute()) #运行测试容器中的用例,并将结果写入的报告中
fp.close()#关闭文件流,不关的话生成的报告是空的
备注:
文件路径,最好不要写绝对路径,最好使用文件的相对路径,这样你的程序迁移到别人的电脑时,可以保证不会出现文件读取异常的错误。
方式二:
import HTMLTestRunner
import os
import unittest
import time
root_dir= os.path.dirname(os.path.abspath('.')) #获取所在目录的父目录
print(root_dir)
report_path=root_dir+'/testReports/' #获取测试报告保存路径
print(report_path)
test_dir=root_dir+'/testCase/' #获取测试用例路径
print(test_dir)
# 获取系统当前时间
now = time.strftime("%Y-%m-%d %H%M%S", time.localtime(time.time()))
# 设置报告名称格式
HtmlFile = report_path+now + "_result.html"
fp = open(HtmlFile, "wb")
# 构建suite
# suite = unittest.TestLoader().discover("testCase")
discover=unittest.defaultTestLoader.discover(root_dir,pattern="test*.py")
if __name__ =='__main__':
# 初始化一个HTMLTestRunner实例对象,用来生成报告
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"接口自动化测试报告", description=u"用例测试情况")
# 开始执行测试套件
runner.run(discover)
fp.close()