用例的管理問題解決了後,接下來要考慮的就是報告我問題了,這裏生成測試報告主要用到 HTMLTestRunner.py 這個模塊,下面簡單介紹一下如何使用:html
1、下載HTMLTestRunner下載:python
這個模塊不能經過pip安裝,只能下載安裝,下載地址以下:python3.x
- python2.x版本:http://tungwaiyip.info/software/HTMLTestRunner.html
- python3.x版本:http://hzqldjb.blog.51cto.com/9587820/1590802
2、mac下配置:函數
一、終端進入python環境測試
二、輸入:spa
import sys print sys.path
三、找到site-packages文件夾的路徑並將下載的
HTMLTestRunner.py 文件拷貝到此的文件夾下
四、在python環境下,輸入 import HTMLTestRunner 不報錯即安裝成功
3、使用該模塊生成報告:
一、目錄結構
- case包下面有baidu,httpbin兩個包
- 每一個包下面分別有兩個測試的py文件
- 每一個test_00x.py文件裏各有2個test case
- run_all_case.py文件:用來執行全部的test case且生成測試報告

二、運行後生成報告以下:code
三、run_all_case.py代碼以下:htm
# -*- 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__': # 一、獲取當前時間,這樣便於下面的使用。 now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) # 二、html報告文件路徑 report_abspath = os.path.join(report_path, "result_"+now+".html") # 三、打開一個文件,將result寫入此file中 fp = open(report_abspath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'接口自動化測試報告,測試結果以下:', description=u'用例執行狀況:') # 四、調用add_case函數返回值 runner.run(all_case()) fp.close()