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()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM