logging模块结合unittest使用

今天和大家分享一个用在测试框架中的一个日志打印方法,希望大家可以多多评论指教,分享学习;

一、首先定义一个日志方法

 

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
posted @ 2020-05-07 23:10  OnePlum  阅读(608)  评论(0编辑  收藏  举报