今天和大家分享一个用在测试框架中的一个日志打印方法,希望大家可以多多评论指教,分享学习;
一、首先定义一个日志方法
import os
import logging
current=os.path.dirname(__file__)
loginfopath=os.path.join(current,'../log/info_logs.txt')
class LogPrint:
def __init__(self):
"""
创建一个日志对象
"""
self.looger=logging.getLogger(__name__)
"""
给日志设置级别
"""
self.looger.setLevel(level=logging.INFO)
"""
创建一个日志格式对象
"""
self.formater=logging.Formatter('Info:%(asctime)s - %(name)s - %(levelname)s - %(message)s')
"""
创建一个FileHandler的对象
"""
console=logging.FileHandler(loginfopath)
"""
给日志设置格式
"""
console.setFormatter(self.formater)
"""
logger日志对象加载FileHandler对象
"""
self.looger.addHandler(console)
def logsinfo(self,message):
"""
日志输出
"""
self.looger.info(message)
Log=LogPrint()
小窍门:
Log=LogPrint() 在日志中创建一个对象,这样在别的模块引用起来会非常的方便;
二、引用
import unittest
from action.login_action import LoginAction
from common.selenium_base_case import SeleniumBaseCase
from common.log_print import Log
class Logintest(SeleniumBaseCase):
def setUp(self) -> None:
super().setUp()
Log.logsinfo('登录测试用例开始')
def test_success_login(self):
'''登录成功测试用例'''
login_action=LoginAction(self.basepage.driver)
main_page=login_action.suceseelogin('admin','a12345678')
actual_result=main_page.get_username()
self.assertEqual(actual_result,'admin','登录成功用例执行失败')
def tearDown(self) -> None:
super().tearDown()
Log.logsinfo('登录测试用例结束')
日志子类常用的三种子类:
StreamHandler 控制台输出日志
FileHandler 日志输出到文件
TimedRotatingFileHandler 日志分割
logging模块基础简介可参考此博客:
地址:
https://www.cnblogs.com/dream66/p/12825148.html?from=timeline&isappinstalled=0