1. 程式人生 > >python介面自動化測試(八)-unittest-生成測試報告

python介面自動化測試(八)-unittest-生成測試報告

用例的管理問題解決了後,接下來要考慮的就是報告我問題了,這裡生成測試報告主要用到 HTMLTestRunner.py 這個模組,下面簡單介紹一下如何使用:

一、下載HTMLTestRunner下載:

這個模組不能通過pip安裝,只能下載安裝,下載地址如下:

二、mac下配置:

1、終端進入python環境

2、輸入:

import sys
print sys.path
3、找到site-packages資料夾的路徑並將下載的 HTMLTestRunner.py 檔案拷貝到此的資料夾下 4、在python環境下,輸入 import  HTMLTestRunner 不報錯即安裝成功三、使用該模組生成報告:1、目錄結構
  • case包下面有baidu,httpbin兩個包
  • 每個包下面分別有兩個測試的py檔案
  • 每個test_00x.py檔案裡各有2個test case
  • run_all_case.py檔案:用來執行所有的test case且生成測試報告

2、執行後生成報告如下:

3、run_all_case.py程式碼如下:

複製程式碼
# -*- coding:utf-8 -*-
import unittest
import os
import time
import HTMLTestRunner

# 用例路徑
case_path = os.path.join(os.getcwd())
# 報告存放路徑
report_path = os.path.join(os.getcwd(), '
report') print report_path def all_case(): discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=None) print discover return discover if __name__ == '__main__': # 1、獲取當前時間,這樣便於下面的使用。 now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
# 2、html報告檔案路徑 report_abspath = os.path.join(report_path, "result_"+now+".html") # 3、開啟一個檔案,將result寫入此file中 fp = open(report_abspath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'介面自動化測試報告,測試結果如下:', description=u'用例執行情況:') # 4、呼叫add_case函式返回值 runner.run(all_case()) fp.close()
複製程式碼