七 HTMLTestRunner生成測試報告

2021-09-10 13:10:31 字數 2249 閱讀 3796

#coding=utf-8

''' created on 2019-01-21

author: codeali

'''import os

import unittest

import time

import logging

from lib import pathdeal

from lib import log

from lib import htmltestrunner

'''遍歷case目錄下的所有case,將case中的所有方法新增到suite中'''

'''case命名規則:*test.py'''

def createsuiteall(casedir='testcase'):

casepath = pathdeal.getspecialpath(casedir)

if (casepath):

# 構造測試用例容器

suite = unittest.testsuite()

# 載入測試用例

discover = unittest.defaulttestloader.discover(casepath, pattern='*test.py', top_level_dir=none)

try:

for test_suite in discover:

for test_case in test_suite:

suite.addtests(test_case)

return suite

except:

print("\n用例載入失敗:%s" % test_case)

return false

else:

return false

'''將乙個case檔案中的所有方法新增到suite中'''

def createsuite(casefile="".join(os.path.splitext(os.path.basename(sys.ar**[0]))), casedir='testcase'):

casepath = pathdeal.getspecialpath(casedir)

if (casepath and casefile):

suite = unittest.testsuite()

test_suite = unittest.defaulttestloader.discover(casepath, pattern=casefile, top_level_dir=none)

for test_case in test_suite:

suite.addtests(test_case)

return suite

else:

return false

'''執行測試用例,並生成測試報告'''

date_now = time.strftime("%y-%m-%d.%h-%m-%s", time.localtime())

filepath = pathdeal.getspecialpath(reportdir)

fname = os.path.splitext(os.path.basename(sys.ar**[0]))[0]

filename = filepath + fname + '.' + date_now + '.html'

if (suite):

try:

fp = open(filename, 'wb')

'''定義測試報告'''

runner = htmltestrunner.htmltestrunner(stream=fp, title=reporttitle, description="用例執**況:")

runner.run(suite)

fp.close()

except typeerror:

print('生成測試報告失敗')

else:

log.initlogging('logs')

logging.debug('測試用例執行失敗,沒有測試報告生成')

if __name__ == '__main__':

#createreport(createsuiteall())

createreport(createsuite('logintest.py'))

報告內容如下:

學習HTMLTestRunner筆記

2.在 中執行之前要先導入htmltestrunner模組。至於你下的py模組你能不能用在idle中import一下就知道了 3.下面貼 來解釋吧,總之報告這塊有不少的坑!哎 coding utf 8 importunittest importbaidu,youdao 匯入需要測試的測試用例 imp...

HTMLTestRunner 異常輸出中文亂碼

webdriver for python使用htmltestrunner 輸出測試報告時,標題和描述有中文都不會顯示亂碼。只有在用例失敗或異常時,輸出的錯誤資訊中中文就顯示亂碼,如下 解決方案 找到htmltestrunner.py原始碼 定位到如下位置,o.decode latin 1 編碼 la...

使用HTMLTestRunner生成測試報告

一 htmltestrunner的安裝 2 將htmltestrunner.py檔案拷貝到python lib目錄下 3 驗證安裝是否正確,如下圖。importhtmltestrunner 引入htmltestrunner 定義測試集合 ts unittest.testsuite 建立測試套件 no...