python+unittest+HTMLTestRunner生成测试报告

结合python+unittest+HTMLTestRunner自动生成测试报告:html

开发构思:python

  一、在测试方法相同时,测试多个不一样参数的测试状况;(unittest自动根据参数条数生成多个的方法)
json

  二、可统计测试状况;ide

  三、测试状况数据过滤;测试

  四、日志记录失败的测试方法;spa

测试报告预览日志

 

resultHtml.py文件,自动测试指定目录下的文件code

 1 #coding=utf-8
 2 from lib.HTMLTestRunner import HTMLTestRunner  3 import time  4 import unittest  5 import os  6 #from dataExcel import dataExcel
 7 import time  8 #定义测试用例的目录为当前目录 
 9 test_dir=os.path.dirname(os.path.realpath(__file__)) 10 test_dir1 = test_dir +'\\resultHtmlFile'  
11 discover = unittest.defaultTestLoader.discover(test_dir,pattern = 'testExcelType*.py') 12   
13 if __name__=="__main__": 14   
15     #按照必定的格式获取当前的时间 
16     now = time.strftime("%Y-%m-%d %H-%M-%S") 17       
18     #定义报告存放路径 
19     filename =test_dir1 + '/' + now + 'test_result.html'  
20       
21     fp = open(filename,"wb") 22 #以二进制格式打开一个文件只用于写入。若是该文件已存在则将其覆盖。若是该文件不存在,建立新文件。
23     #定义测试报告 
24     runner = HTMLTestRunner(stream = fp, 25                             title = u"接口测试报告", 26                             description = u"测试用例执行状况:") 27     #运行测试 
28  runner.run(discover) 29     fp.close() #关闭报告文件
resultHtml.py
testExcelType.py文件,执行测试方法
 1 import unittest  2 import time  3 import requests  4 from data.dataExcelType import dataExcelType  5 import os  6 # 导入自定义的logging配置
 7 from logs.log import Logger  8 import time  9 import json 10 from common.login import Login 11 
12 class TestDemo(unittest.TestCase): 13     cur_path=os.path.dirname(os.path.realpath(__file__)) 14     xlsxName = r'\inteData.xlsx'
15 
16     dataExcelType = dataExcelType(cur_path,cur_path_json,xlsxName,0) 17     
18 
19     #为批量生成测试用例提供数据
20  @parameterized.expand(dataExcelType) 21     
22     def testcase(self,a): 23         u'''测试接口'''
24       
25         logs = Logger().get_logger() 26         logs.info("开始执行用例:-------------- %s ,%s" % (a['params'],a['result'])) 27         
28         time.sleep(0.5) 29        
30         #要测试的操做代码
31         #.... 
32 
33 if __name__ == "__main__": 34     
35     unittest.main(verbosity=2)
testExcelType.py
相关文章
相关标签/搜索