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
相關文章
相關標籤/搜索