Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)
Posted 小石头tester
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)相关的知识,希望对你有一定的参考价值。
在前段时间,为了给项目中加入日志功能,就想到了 logging 模块,百度logging一大推,都是各种复制的,并没有找到自己想要的结果;我的目的很简单,就是:在把日志写入文件的同时在控制台输出,更加方便调试,我下面的代码就满足这个功能:
1 #coding=utf-8 2 3 import logging 4 import time 5 import commonparameter 6 7 class Log: 8 def __init__(self): 9 self.logname = commonparameter.log_path + ‘\\‘ + ‘Log‘ +time.strftime(‘%Y-%m-%d‘) + ‘.log‘ 10 11 def printconsole(self, level, message): 12 # 创建一个logger 13 logger = logging.getLogger(‘mylogger‘) 14 logger.setLevel(logging.DEBUG) 15 # 创建一个handler,用于写入日志文件 16 fh = logging.FileHandler(self.logname,‘a‘) 17 fh.setLevel(logging.DEBUG) 18 # 再创建一个handler,用于输出到控制台 19 ch = logging.StreamHandler() 20 ch.setLevel(logging.DEBUG) 21 # 定义handler的输出格式 22 formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘) 23 fh.setFormatter(formatter) 24 ch.setFormatter(formatter) 25 # 给logger添加handler 26 logger.addHandler(fh) 27 logger.addHandler(ch) 28 # 记录一条日志 29 if level == ‘info‘: 30 logger.info(message) 31 elif level == ‘debug‘: 32 logger.debug(message) 33 elif level == ‘warning‘: 34 logger.warning(message) 35 elif level == ‘error‘: 36 logger.error(message) 37 logger.removeHandler(ch) 38 logger.removeHandler(fh) 39 40 def debug(self,message): 41 self.printconsole(‘debug‘, message) 42 43 def info(self,message): 44 self.printconsole(‘info‘, message) 45 46 def warning(self,message): 47 self.printconsole(‘warning‘, message) 48 49 def error(self,message): 50 self.printconsole(‘error‘, message) 51 52 if __name__ == ‘__main__‘: 53 log = Log() 54 log.info(‘info msg1000013333‘) 55 log.debug(‘debug msg‘) 56 log.warning(‘warning msg‘) 57 log.error(‘error msg‘)
ps:
self.logname = commonparameter.log_path + ‘\\‘ + ‘Log‘ +time.strftime(‘%Y-%m-%d‘) + ‘.log‘ #你存放日志的路径
以上是关于Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)的主要内容,如果未能解决你的问题,请参考以下文章
Python+Selenium进行UI自动化测试项目中,常用的小技巧3:写入excel表(python,xlsxwriter)
Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)
Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出
(selenium+python)_UI自动化12_web UI自动化实例(以京东搜索加车为例)
Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)