python +selenium logging 模块封装
来源:互联网 发布:泰国数据漫游资费 编辑:程序博客网 时间:2024/06/11 23:38
在上一篇学习了python模块后,这篇结合selenium来进行使用,还是根据博客http://blog.csdn.net/u011541946/article/details/70198676 来学习,但是自己也在自己独立思考该怎么写,还是有进步的
一、logging模块封装,就上篇文章的创建logger、handler、formatter,返回了一个logger,用于浏览器操作时的日志输出
#封装一个logger类,并返回logger对象用于浏览器操作日志输出import loggingimport osimport timeclass MyLogger(object): def __init__(self,logger): #创建一个logger对象,并为其命名 self.logger =logging.getLogger(logger) #设置日志级别 self.logger.setLevel(logging.DEBUG) #创建handler,创建一个输出到屏幕的handler和一个输出到文件的handler #file_path = os.path.dirname(os.getcwd())+r'\logs\logs.txt' #日志信息存放路径 file_path = os.path.dirname(os.getcwd()) + r'/logs/' #用日期做日志文件名 tpath = time.strftime('%Y%m%d%H%M',time.localtime(time.time()))+'.log' path = file_path + tpath streamhandler = logging.StreamHandler() streamhandler.setLevel(logging.DEBUG) #filerhandler = logging.FileHandler(path) filerhandler = logging.FileHandler(path, mode='a', encoding='utf-8', delay=False) filerhandler.setLevel(logging.DEBUG) #创建formatter对象,设置日志输出格式 formatter = logging.Formatter(' %(asctime)s %(levelname)s %(name)s %(pathname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S') streamhandler.setFormatter(formatter) self.logger.addHandler(streamhandler) self.logger.addHandler(filerhandler) def put_logger(self): return self.logger
二、浏览器操作日志输出
调用了上个文件的类MyLogger,与方法put_logger(),获得返回的logger对象进行操作
from test.logs_1 import MyLoggerfrom selenium import webdriverimport time#调用MyLoggermylogger = MyLogger(logger='testlogger').put_logger()class TestLogger(object): def print_log(self): driver = webdriver.Chrome() driver.maximize_window() mylogger.info('浏览器最大化') driver.get("https://www.baidu.com") mylogger.info('打开百度浏览器') time.sleep(3) mylogger.info("暂停三秒") driver.quit() mylogger.info('关闭浏览器')test_logger = TestLogger()test_logger.print_log()
在这里遇到过一个问题,写入文件的中文日志都是乱码,百度了一下参看了官方文档https://docs.python.org/3.6/library/logging.handlers.html 将filerhandler logging.FileHandler(path, mode='a', encoding='utf-8', delay=False)
添加了一些参数,设置了编码格式之后就解决了乱码问题,又找到一个解决问题的方法,查看官方文档 继续学习吧!
阅读全文
0 0
- python +selenium logging 模块封装
- Python的logging模块封装
- 【python】Python的logging模块封装
- Python日志模块logging格式化封装
- (selenium 十)python 的日志logging模块学习
- python+selenium自动化软件测试(第9章) :Logging模块
- python+selenium自动化软件测试(第9章) :Logging模块
- python模块 ---logging模块
- python logging模块学习
- Python标准模块logging
- Python标准模块logging
- python logging模块
- python 之logging模块
- python的logging模块
- Python标准模块logging
- [python相关]logging模块
- Python标准模块logging
- python logging模块学习
- Java输入某路径获取所有的文件
- svn步骤
- LeetCode Problem9 Palindrome Number解题报告
- CS231n (winter 2016) : Assignment3
- PAT (Basic Level) Practise (中文) 1059. C语言竞赛(20)
- python +selenium logging 模块封装
- UVA 146 ID Codes
- anagrams
- css3伪类伪元素
- C++重载,指针和引用
- 猎豹移动笔试题
- Lua 模式匹配 "%a", ".","%A"
- B. Godsend
- 最全Pycharm教程(23)——Pycharm编辑器功能之代码高亮显示及错误提示机制