至于为什么这个ini配置文件需要编辑成【###】然后下面是参数或者变量的赋值,自己百度学习:ini配置文件格式,看下是怎么编辑的?都有哪些要素?
四、日志类模块的实现
说到日志,大家都明白日志的作用,最明显的作用就是在程序的关键位置或者步骤节点下设置日志输出,当程序运行时,会输出日志,日志是我们查看程序运行情况和查找错误的重要手段。因此,对于自动化测试也是如此,我们需要知道自动化执行的情况以及执行错误的情况发生了什么,那就需要给你的自动化测试项目封装一个日志类的功能模块,用于输出日志。python语言封装了一个叫logging的标准库模块,能够设置日志等级以及怎么输出、输出到哪里。对于logging模块,大家可以自己针对性去学习该模块的使用。
我们在上面的项目层级的models目录下创建log.py文件,在这个模块文件下定义一个叫做Logger的日志类,完成日志类的封装,编辑如下代码:
''' Code description:封装日志类,定义日志文件输出格式和日志输出级别 Create time:2018-11-8 Developer: ''' # -*- coding: utf-8 -*- import logging import time import os.path class Logger(object): def __init__(self,logger,CmdLevel = logging.INFO,FileLevel = logging.INFO): self.logger = logging.getLogger(logger) self.logger.setLevel(logging.DEBUG) # 设置日志默认级别为DEBUG fmt = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s') # 设置日志输出格式 currTime = time.strftime('%Y%m%d%H%M',time.localtime(time.time())) # 格式化当前时间 log_path = os.path.dirname(os.path.abspath('E:\V2200_AutoTest\\testcase')) + '/log/logs/' # 设置日志文件保存路径 # log_path = os.path.dirname(os.path.abspath('.')) + '/log/logs/' # 相对路径写法 # print(os.path.dirname(os.path.abspath('E:\V2200_AutoTest\\testcase'))) print('得到的日志路径为:', log_path) log_name = log_path + currTime + '.log' # 设置日志文件名称 # 设置由文件输出 fh = logging.FileHandler(log_name,encoding='utf-8') # 采用utf-8字符集格式防止出现中文乱码 fh.setFormatter(fmt) fh.setLevel(FileLevel) # 日志级别为INFO # 设置日志由控制台输出 # sh = logging.StreamHandler(log_name) # sh.setFormatter(fmt) # sh.setLevel(CmdLevel) self.logger.addHandler(fh) # 添加handler def getlog(self): return self.logger