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
# 定义格式化输出
# 实现上面定义的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文件
同上,在需要打印日志的位置加上对应打印日志方法即可
到此关键字驱动框架全部搭建完成
附框架截图: