selenium 数据驱动框架自动化从0到1--8

本文介绍了selenium数据驱动框架中日志的重要性和使用,包括logging模块的三大组件:loggers、handler和formatters。通过创建get_log_obj.py文件封装日志对象,便于在自动化测试逻辑中集成日志记录,为问题定位和用例失败分析提供详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

selenium 数据驱动框架自动化从0到1–8

前面2篇我们讲了数据源的设计与解析excel 文件的方法封装,这篇我们说说日志


日志是代码的一部分,有了它,在出现问题时我们能准确的定位。在用例执行失败时,我们清楚的知道那条用例执行失败了,什么时间执行的,错误是什么的详细信息。

logging模块有三个比较重要的功能组件:具体详情查看官网https://docs.python.org/2/howto/logging.html

loggers 配置文件可定义一些输出日志的appname
handler 过滤器,比如设置日志的分隔大小,输出位置,日志文件创建等
formatters 指定日志输出的格式


在util 包下新建一个get_log_obj.py 文件,用于分装日志对象,在工程Test126Email下创建一个log包,存放日志,代码如下:

#encoding=utf-8

import logging
import os


class GetLog:
    def __init__(self):
        #获取当前文件绝对路径下的上一层目录
        self.path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        self.log_path = os.path.join(self.path, r'log\result.log')   #拼接log文件的地址
        #  创建logger
        self.logger = logging.getLogger()
        self.logger.handlers.clear()   #清除日志缓存
        self.logger.setLevel(logging.DEBUG)  #设置日志级别
        # 创建日志输出格式
        self.formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')

    def log(self):  #日志即输出到控制台又输出到文件
        # 指定过滤器组件,以文件的方式输出
        ch = logging.FileHandler(self.log_path,'a')
        sh = logging.StreamHandler()
        ch.setLevel(logging.INFO)
        sh.setLevel(logging.INFO)
        ch.setFormatter(self.formatter)
        sh.setFormatter(self.formatter)
        self.logger.addHandler(ch)
        self.logger.addHandler(sh)
        return self.logger

  if __name__ == '__main__':
    lg = GetLog().log()
    lg.info('i a info')
    lg.error('i am error')
    lg.debug('i am debug')


总结

这篇日志编写拖了很长时间,现在终于弄好了。有了日志的类,我们就可以在逻辑中加进去了,下一篇我们就正式写自动化的测试逻辑了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值