selenium:Logging日志器生成+配置应用

一、日志作用

日志能够记录系统运行的信息,比如点击输入等操作。它可以发现问题,定位问题。

二、日志组件

1. logger:日志器(程序的入口)

2. handler:处理器(指定日志信息显示在哪里:控制台和文本)

3. formatter:格式器(指定日志信息显示的格式,使之变得更加详细)

三、日志级别

1. 第一级别:debug(调试级别)
2. 第二级别:info(正常级别)
3. 第三级别:warning(警告级别,不影响程序:如:用户登录密码错误)
4. 第四级别:error(错误级别,普通报错,如:IO操作失败)
5. 第五级别:critical(严重级别,程序崩溃,如:磁盘空间为空)

日志等级从低到高的顺序:debug < info < warning < error < critical

常用级别:info(正常级别) error(错误级别)

默认级别:warning(警告级别)

四、日志配置

1. 基础配置写法

import logging

def test_log():
    # 设置日志显示格式
    fmt='%(asctime)s %(filename)s %(funcName)s %(levelno)s %(message)s'
    # 设置日志级别
    logging.basicConfig(level=logging.INFO, format=fmt, filename='log.log')

    return logging

2. 封装配置写法

import logging

def test_log():

    # 日志器  创建日志器
    logger = logging.getLogger()

    # 设置级别
    #logger.setLevel(logging.DEBUG)

    # 指定日志信息显示在哪里 处理器
    sh = logging.StreamHandler()

    # 把日志信息添加到控制台
    logger.addHandler(sh)

    fh = logging.FileHandler('log.log')
    logger.addHandler(fh)

    # 格式器
    formatter = logging.Formatter('%(asctime)s %(filename)s %(funcName)s %(levelno)s %(message)s')
    fh.setFormatter(formatter)

    return logger

五、将配置方法加入生成日志的BasePage.py

import time
from logging_demo2 import test_log

log = test_log()

class BasePage:
    def __init__(self, driver1):
        log.info('初始化浏览器{}'.format(driver1))
        self.driver = driver1

    def open(self, url):
        log.info('正在打开{}网址'.format(url))
        self.driver.get(url)

    def locator(self, name, value):
        return self.driver.find_element(name, value)

    def on_input(self, name, value, txt):
        try:
            log.info('通过{}方式,找到{}值,输入{}内容'.format(name, value, txt))
            self.locator(name, value).send_keys(txt)
        except Exception as e:
            log.error('输入有问题%s' % e)

    def on_click(self, name, value):
        log.info('通过{}方式,找到{}值,进行点击'.format(name, value))
        self.locator(name, value).click()

    def wait(self, t):
        log.info('正在等待')
        time.sleep(t)

    def close(self):
        log.info('正在关闭')
        self.driver.quit()

六、导入BasePage运行流程

from BasePage import BasePage
from selenium import webdriver

driver = BasePage(webdriver.Chrome())

driver.open('http://www.baidu.com')
driver.on_input('id', 'kw', '秋水')
driver.on_click('id', 'su')
driver.wait(3)
driver.close()

生成log.log文件

2022-08-07 15:43:09,941 BasePage.py __init__ 20 初始化浏览器<selenium.webdriver.chrome.webdriver.WebDriver (session="d66ade6aaa0475e0c5f16599ba5e3cff")>
2022-08-07 15:43:09,945 BasePage.py open 20 正在打开http://www.baidu.com网址
2022-08-07 15:43:10,501 BasePage.py on_input 20 通过id方式,找到kw值,输入秋水内容
2022-08-07 15:43:10,603 BasePage.py on_click 20 通过id方式,找到su值,进行点击
2022-08-07 15:43:10,671 BasePage.py wait 20 正在等待
2022-08-07 15:43:13,676 BasePage.py close 20 正在关闭

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值