selenium自動化--日誌打印封裝模塊

編寫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)
        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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章