天天看點

python自動化之UI自動化架構搭建四--完成(關鍵字驅動)

十六、KeyWordsFrameWork目錄下建立RunTest.py檔案,運作檔案,檢視允許結果

# encoding = utf-8
from KeyWordsFrameWork.testScripts.TestCreatBuilding import TestCreatBuild


if __name__ == '__main__':
    TestCreatBuild()      

十七、通過logging子產品,為關鍵字驅動架構加入列印日志功能。在config包下建立Logger.conf的檔案,用于配置日志級别資訊

[loggers]
keys=root,file,fileAndConsole

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_file]
level=INFO
qualname = file
handlers=fileHandler
propagate=0

[logger_fileAndConsole]
level=INFO
qualname=fileAndConsole
handlers=consoleHandler,rotatingFileHandler
propagate=0

[handlers]
keys=fileHandler,consoleHandler,rotatingFileHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=INFO
formatter=simpleFormatter
args=('log/MDPUiTestLogfile.log', 'a')

[handler_rotatingFileHandler]
class=handlers.RotatingFileHandler
level=INFO
formatter=simpleFormatter
args=('log/MDPUiTestLogfile.log', 'a', 10*1024*1024, 5)

[formatters]
keys=simpleFormatter

[formatter_simpleFormatter]
format=%(asctime)s %(filename)s %(levelname)s : %(message)s
datefmt=%Y-%m-%d %H:%M:%S      

說明:

[loggers]

# 定義logger子產品,root是父類,必需存在的,其它的是自定義。

# logging.getLogger(NAME)便相當于向logging子產品注冊了一種日志列印

# name 中用 . 表示 log 的繼承關系

[handlers]

# 定義handler

[formatters]

# 定義格式化輸出

[logger_root]

# 實作上面定義的logger子產品,必需是[logger_xxxx]這樣的形式

# [logger_xxxx] logger_子產品名稱

# level 級别,級别有DEBUG、INFO、WARNING、ERROR、CRITICAL

# handlers 處理類,可以有多個,用逗号分開

# qualname logger名稱,應用程式通過 logging.getLogger擷取。對于不能擷取的名稱,則記錄到root子產品。

# propagate 是否繼承父類的log資訊,0:否 1:是

[handler_infohandler]

# [handler_xxxx]

# class handler類名

# level 日志級别

# formatter,上面定義的formatter

# args handler初始化函數參數

[formatter_form01]

# 日志格式

#--------------------------------------------------

# %(asctime)s 年-月-日 時-分-秒,毫秒 2013-04-26 20:10:43,745

# %(filename)s 檔案名,不含目錄

# %(pathname)s 目錄名,完整路徑

# %(funcName)s 函數名

# %(levelname)s 級别名

# %(lineno)d 行号

# %(module)s 子產品名

# %(message)s 消息體

# %(name)s 日志子產品名

# %(process)d 程序id

# %(processName)s 程序名

# %(thread)d 線程id

# %(threadName)s 線程名

十八、在util包中建立Log.py檔案,用于初始化日志對象

# encoding = utf-8
import logging.config
from KeyWordsFrameWork.config.VarConfig import parenthDirPath

# 讀取日志配置檔案
print(parenthDirPath)
logging.config.fileConfig(parenthDirPath + "/config/Logger.conf")
# 選擇一個日志格式
logger = logging.getLogger('fileAndConsole')


def debug(message):

    # 定義debug級别日志列印方法
    logger.debug(message)


def info(message):

    # 定義info級别日志列印方法
    logger.info(message)


def warning(message):

    # 定義warning級别日志列印方法
    logger.warning(message)      

十九、在根目錄(KeyWordsFrameWork)下建立log目錄,然後修改testScripts包中的 test檔案

python自動化之UI自動化架構搭建四--完成(關鍵字驅動)

 同上,在需要列印日志的位置加上對應列印日志方法即可

到此關鍵字驅動架構全部搭建完成