编写logger模块:
# _*_ coding: utf-8 _*_ import logging import os.path import time import os import sys class Logger(object): def __init__(self, logger): """ 指定保存日志的文件路径,日志级别,以及调用文件 将日志存入到指定的文件中 :param logger: """ # 创建一个logger self.logger = logging.getLogger(logger) self.logger.setLevel(logging.DEBUG) # 创建一个handler,用于写入日志文件 rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time())) log_path = os.path.dirname(os.getcwd()) + '/Logs' print(log_path) log_name = log_path + rq + '.log' fh = logging.FileHandler(log_name,encoding='utf-8') fh.setLevel(logging.INFO) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.INFO) # 定义handler的输出格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # 给logger添加handler self.logger.addHandler(fh) self.logger.addHandler(ch) def getlog(self): return self.logger
引用logger模块,编写测试日志文件:
# coding=utf-8
import time
from selenium import webdriver
from unittest_demo.logger import Logger
mylogger = Logger(logger='TestMyLog').getlog()
class TestMyLog(object):
def print_log(self):
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_driver)
mylogger.info("打开浏览器")
driver.maximize_window()
mylogger.info("最大化浏览器窗口。")
driver.implicitly_wait(8)
driver.get("https://www.baidu.com")
mylogger.info("打开百度首页。")
time.sleep(1)
mylogger.info("暂停一秒。")
driver.quit()
mylogger.info("关闭并退出浏览器。")
testlog = TestMyLog()
testlog.print_log()
执行结果:
E:\python3.8.2\python.exe C:/Users/jelena.zhao.SZ/PycharmProjects/requests/unittest_demo/test_log.py
C:\Users\jelena.zhao.SZ\PycharmProjects\requests/Logs
2020-06-05 17:46:07,354 - TestMyLog - INFO - 打开浏览器
2020-06-05 17:46:11,492 - TestMyLog - INFO - 最大化浏览器窗口。
2020-06-05 17:46:14,097 - TestMyLog - INFO - 打开百度首页。
2020-06-05 17:46:15,097 - TestMyLog - INFO - 暂停一秒。
2020-06-05 17:46:17,262 - TestMyLog - INFO - 关闭并退出浏览器。
Process finished with exit code 0