一、日志作用
日志能够记录系统运行的信息,比如点击输入等操作。它可以发现问题,定位问题。
二、日志组件
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 正在关闭