HTMLTestRunner是Pyhton标准库的的unittest模块的一个扩展
方式一:
一、安装HTMLTestRunner,它可以生成HTML的测试报告。
首先要下载HTMLTestRunner.py文件,将下载的文件放入....\python\lib目录下
python的默认安装路径:
二、代import unittest,HTMLTestRunner
from dingtalkchatbot.chatbot import DingtalkChatbot #钉钉机器人import datetimeimport timeimport 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 HTMLTestRunnerimport osimport unittestimport timeroot_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