Python_生成HTMLTestRunner测试报告

HTMLTestRunner是Pyhton标准库的的unittest模块的一个扩展

 方式一:

一、安装HTMLTestRunner,它可以生成HTML的测试报告。

首先要下载HTMLTestRunner.py文件,将下载的文件放入....pythonlib目录下

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()
原文地址:https://www.cnblogs.com/tianpin/p/11139330.html