Python +Selenium日誌系統搭建
阿新 • • 發佈:2019-02-07
在自動化測試過程中如何對錯誤如何定位,主要的手段就是進行日誌定位,主要形式有兩種:1.控制檯;2.日誌檔案。
呼叫:
import Logger
logger = Logger(path).getlog()
logger.info("前進瀏覽器")
話不多說直接上原始碼:
# _*_ coding: utf-8 _*_ import logging import os.path import time class Logger(object): def __init__(self, logger="Root"):#logger 為顯示類名(預設為Root) """ 指定儲存日誌的檔案路徑,日誌級別,以及呼叫檔案 將日誌存入到指定的檔案中 :param logger: """ # 建立一個logger self.logger = logging.getLogger(logger) self.logger.setLevel(logging.DEBUG) #檔案寫入DEBUG級別及以上(可自行調整) # 建立一個handler,用於寫入日誌檔案 rq = time.strftime('%Y%m%d%H', time.localtime(time.time())) #每小時一個檔案 log_path = os.path.dirname(os.getcwd()) + '/testOutput/log/'#儲存地址 log_path1 = './testOutput/log/' try: log_name = log_path + rq + '.log' fh = logging.FileHandler(log_name,encoding='utf-8',mode="a+") except: log_name = log_path1 + rq + '.log' fh = logging.FileHandler(log_name,encoding='utf-8',mode="a+") fh.setLevel(logging.INFO) fh.close() # 再建立一個handler,用於輸出到控制檯 ch = logging.StreamHandler() ch.setLevel(logging.INFO) ch.close() # 定義handler的輸出格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # 給logger新增handler if not self.logger.handlers: self.logger.addHandler(fh) self.logger.addHandler(ch) def getlog(self): return self.logger