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文件

 

 同上,在需要打印日志的位置加上对应打印日志方法即可

到此关键字驱动框架全部搭建完成

附框架截图:

 

posted @ 2021-10-08 14:30  鹄望  阅读(249)  评论(0编辑  收藏  举报