国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

python自動化測試之異常及日志操作實例分析

2024-09-09 19:02:30
字體:
來源:轉載
供稿:網友

本文實例講述了python自動化測試之異常及日志操作。分享給大家供大家參考,具體如下:

  為了保持自動化測試用例的健壯性,異常的捕獲及處理,日志的記錄對掌握自動化測試執行情況尤為重要,這里便詳細的介紹下在自動化測試中使用到的異常及日志,并介紹其詳細的用法。

  一、日志

    打印日志是很多程序的重要需求,良好的日志輸出可以幫我們更方便的檢測程序運行狀態。Python標準庫提供了logging模塊,切記Logger從來不直接實例化,其好處不言而喻,接下來慢慢講解Logging模塊提供了兩種記錄日志的方式。

logging之模塊級別的函數方式記錄日志
import logging#設置日志,包括filename、level、format、filemode、stream,其中format屬性極其豐富,詳情可查看API文檔,這里只做簡要介紹logging.basicConfig(level = logging.INFO,  format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s',  datefmt = "%Y/%m%d %H%M%S",  filename = "log.txt")#消息級別,五級logging.debug("芹澤多摩雄") logging.info("真")logging.warning("男")logging.error("人")logging.critical("!")
  logging之日志系統的四大組件(日志器、處理器、過濾器、格式器)方式記錄日志
import logging# 生成日志實例,日志器logger = logging.getLogger(__name__)#基本單元的配置(LEVER)logger.setLevel(level = logging.INFO)formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')#生成管道分支,處理器handler_1 = logging.FileHandler("log.txt")handler_2 = logging.StreamHandler()#自定義格式,格式器handler_1.setFormater(formatter, “%Y-%m-%d %H:%M:%S”)handler_2.setFormater(formatter, “%Y-%m-%d %H:%M:%S”)#對接分支管道與源頭,處理器logger.addHandler(handler_1)logger.addHandler(handler_2)#層級結構,logger的名稱是一個以'.'分割的層級結構,每個'.'后面的logger都是'.'前面的logger的children,通常配合過濾器一起使用#過濾器#。。。。保留#開始記錄logger.debug("芹澤多摩雄") logger.info("真")logger.warning("男")logger.error("人")logger.critical("!")
細心的盆友又可以發現,可以發現,logging有一個日志處理的主對象,其他處理方式都是通過addHandler添加進去,這里采用logging.StreamHandler實現日志輸出到流(控制臺),也可以用FileHandler實現日志輸出到文件 日志回滾
import loggingfrom logging.handlers import RotatingFileHandlerlogger = logging.getLogger(__name__)logger.setLevel(level = logging.INFO)#定義一個RotatingFileHandler,最多備份3個日志文件,每個日志文件最大1KrHandler = RotatingFileHandler("log.txt",maxBytes = 1*1024,backupCount = 3)rHandler.setLevel(logging.INFO)formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')rHandler.setFormatter(formatter)console = logging.StreamHandler()console.setLevel(logging.INFO)console.setFormatter(formatter)logger.addHandler(rHandler)logger.addHandler(console)logger.debug("芹澤多摩雄") logger.info("真")logger.warning("男")logger.error("人")logger.critical("!")
多模塊使用
#主模塊import loggingimport subModulelogger = logging.getLogger("mainModule")logger.setLevel(level = logging.INFO)handler = logging.FileHandler("log.txt")handler.setLevel(logging.INFO)formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')handler.setFormatter(formatter)console = logging.StreamHandler()console.setLevel(logging.INFO)console.setFormatter(formatter)logger.addHandler(handler)logger.addHandler(console)#子模塊import loggingmodule_logger = logging.getLogger("mainModule.sub")class SubModuleClass(object):  def __init__(self):    self.logger = logging.getLogger("mainModule.sub.module")
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永康市| 侯马市| 武宁县| 隆化县| 台东县| 奈曼旗| 电白县| 沂南县| 嘉峪关市| 泾川县| 格尔木市| 阳信县| 邢台县| 昌邑市| 赫章县| 海伦市| 塘沽区| 汉川市| 云霄县| 阳东县| 柘荣县| 漠河县| 齐齐哈尔市| 昌图县| 台湾省| 余姚市| 双牌县| 印江| 商河县| 吴川市| 钟山县| 横峰县| 许昌市| 曲麻莱县| 土默特左旗| 札达县| 澎湖县| 清水县| 甘孜县| 利津县| 九台市|