python自动写工作日志_python+selenium实现Web自动化:日志处理

一、前言

最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!

这是python+selenium实现Web自动化第六篇博文

二、Selenium之-日志处理

到这里已经搞了好多,但是在排查问题的时候,不是很方便,我们需要对程序的执行中错误的地方进行记录。

1.在 console 输出log

可以将日志信息输出的console中,但是这种方式不常用。日常更多使用的是2的方法,将日志信息输出到log文件中。

#!/usr/bin/env python# -*- encoding: utf-8 -*-"""@Time    :   2020/4/17@License :   (C)Copyright 2017-2019, Micro-Circle@Desc    :   None"""import loggingclass RecordLog(object):    def __init__(self):        self.logger = logging.getLogger()        self.logger.setLevel(logging.DEBUG)        # 1. 在 console 中输出日志文件        # 能够将日志信息输出到sys.stdout, sys.stderr 或者类文件对象        # 日志信息会输出到指定的stream中,如果stream为空则默认输出到sys.stderr。        console = logging.StreamHandler(stream=None)        # 将sys.stderr中的信息添加到logger中        self.logger.addHandler(console)        # 输出调试信息        self.logger.debug("这是一条在控制台线上的log")        # 关闭流        console.close()        # 移除        self.logger.removeHandler(console)if __name__ == "__main__":    rl = RecordLog()
c143ad6123b4d7f8958d783a4e6ab90a.gif

2.输出日志到log文件

#!/usr/bin/env python# -*- encoding: utf-8 -*-"""@Time    :   2020/4/17@Contact :   软件测试技术群:695458161@License :   (C)Copyright 2017-2019, Micro-Circle@Desc    :   None"""import loggingimport osfrom datetime import datetimeclass RecordLog(object):    def __init__(self):        self.logger = logging.getLogger()        self.logger.setLevel(logging.DEBUG)        # 2.将log信息输出到log文件中        # 2.1 先定位看将log文件输出到哪里去        current_dir = os.path.dirname(os.path.abspath(__file__))        print(current_dir)  # D:MySpacePythonWebTestingutil        log_dir = os.path.join('../logs')        # 日志名称构建        log_file_name = datetime.now().strftime("%Y-%m-%d") + '.log'        log_file_path = log_dir + '/' + log_file_name        print(log_file_path)        # 2.2 好的,将日志写进log文件中        self.file_handle = logging.FileHandler(log_file_path, 'a', encoding='utf-8')        formatter = logging.Formatter(            '%(asctime)s %(filename)s %(funcName)s %(levelno)s: [%(levelname)s] ---> %(message)s')        self.file_handle.setFormatter(formatter)        self.logger.addHandler(self.file_handle)    def get_log(self):        return self.logger    def close_handle(self):        self.logger.removeHandler(self.file_handle)        self.file_handle.close()if __name__ == "__main__":    rl = RecordLog()    log_info = rl.get_log()    log_info.debug('输出到文件中去')    rl.close_handle()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值