日志
日志:日记
日志:记录系统运行的信息,了解系统运行的情况。日志能够把我们的系统上所 *** 作的都记录下来。记录,txt文件,log文件。
好处:复现问题
日志作用:用于调试代码, 反应系统情况。。。
日志代码:
- logger:日志器:作用就是别的文件或者说本文件想要用日志的功能,通过日志器去使用
- Handler:处理器:作用指定日志信息出现在哪儿 StreamHandler 文本:fileHandler
- Formatter:格式器:是设置日志信息格式的
日志级别:
(常用)
INFO:代表正常
ERROR:错误的
(还有)
WARUNING:警告的;程序有问题,但是不影响程序正常运行
DEBUG:调试级别
CRTICAL:严重的(崩溃)
实际 *** 作
1、新建一个base_page的py文件
def test_log():
# 1、创建日志器
logger = logging.getLogger()
# 默认级别是warning 显示出来, 设置日志级别,默认的warning,显示在控制台。根本不知道显示在哪儿
logger.setLevel(logging.INFO)
# 要告诉logger显示在哪儿 控制台:StreamHandler
# 文本:fileHandler
# 显示在控制台
sh = logging.StreamHandler()
# 日志信息显示在控制台
logger.addHandler(sh)
# 我没有格式 设置格式
formater = logging.Formatter('%(asctime)s %(filename)s %(levelname)s %(funcName)s %(message)s')
# 格式要给控制台
sh.setFormatter(formater)
# 设置日志信息显示在文本 file hanlder
fh = logging.FileHandler('./demolog0502/logs/log1.log')
logger.addHandler(fh)
fh.setFormatter(formater)
return logger
# 日志信息 写死 在项目中,一般只会调用到info和error
logger.debug('这是debug日志信息')
logger.info('这是info日志信息')
logger.warning('这是warning日志信息')
logger.error('这是error日志信息')
logger.critical('这是critical日志信息')
# 以上日志的主体架构已经出来了,现在要用于项目
# 如何在项目中使用,项目中有许多文件,都要用到日志,使用到封装方法
# 封装之后,将日志导入到基类里面
2、导入到基类里
# coding:utf-8
'''
BasePage类时POM中的基类,主要用于提供常用的函数,为页面对象类进行服务
selenium常用函数:元素定位、输入、点击、访问URL、等待、关闭等
'''
from time import sleep
# 导入日志
from demolog0502.base.myLogs import test_log
from selenium import webdriver
from selenium.webdriver.remote import switch_to
log = test_log()
class BasePage:
# 虚构driver对象
# driver = webdriver.Chrome()
# 构造函数
def __init__(self, driver):
log.info('初始化{}浏览器'.format(driver))
self.driver = driver
# 访问URL
def visit(self, ):
log.info('正在访问{}网址'.format(self.url))
self.driver.get(self.url)
# 元素定位,设计成元组
def locator(self, loc):
return self.driver.find_element(*loc)
# 输入
def input_(self, loc, txt):
try:
log.info('正在定位{},输入{}'.format(loc, txt))
self.locator(loc).send_keys(txt)
# 捕获错误日志
except Exception as e: # 把错误日志保存到e里面
log.error('输入内容失败%s' % e)
# 点击
def click(self, loc):
try:
log.info('正在定位{},进行点击'.format(loc))
self.locator(loc).click()
# 捕获错误日志
except Exception as e: # 把错误日志保存到e里面
log.error('点击失败%s' % e)
# 等待
def wait(self, time_):
log.info('正在等待元素')
sleep(time_)
# 获得当前页面句柄
def get_handles(self):
handles = self.driver.window_handles
return handles
# 切换窗口
def change_handle(self, handle):
handles = self.driver.window_handles
for i in handles:
if i != handle:
self.driver.switch_to_window(i)
# 将当前句柄定位到新打开的页面
def switchToHandle(self, handle):
self.driver.switch_to.window(handle)
# 日志:确定是正确的,所以调用info
# 日志:错误日志,日志的初衷是,错误日志捕获到 try excepet
3、效果如下所示
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)