测试人社区

求助:在base_page中引入了logging模块,运行testcase没有生成log日志


直播课中的代码,在base_page里引入了logging,单独运行base_page可以生成.log文件,但是在testcase中运行用例后,用例都测试通过,但是没有记录日志也没有报错信息。控制台也没有日志。

没有上传到git你可以重新传一次,没有生成日志说明你没有设计好,还需要修改;下面是我的日志设计,你可以参考一下

import logging

import logging  # 引入logging模块
import os.path
import time


class BasePage:
    # 第一步,创建一个logger
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)  # Log等级总开关
    # 第二步,创建一个handler,用于写入日志文件
    rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
    log_path = os.path.dirname(os.getcwd()) + '/Logs/'
    log_name = log_path + rq + '.log'
    logfile = log_name
    fh = logging.FileHandler(logfile, mode='w')
    fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关
    # 将日志输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)  # 输出到console的log等级的开关
    # 第三步,定义handler的输出格式
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
    fh.setFormatter(formatter)
    # 第四步,将logger添加到handler里面
    logger.addHandler(fh)
    ch.setFormatter(formatter)
    logger.addHandler(ch)

    # print(f"root_logger.handlers:{logging.getLogger().handlers}")
    # for h in logger.handlers[:]:
    #     logger.removeHandler(h)
    # logging.basicConfig(level=logging.INFO)

抱歉,不太了解空的文件夹该怎么传到git,通过重新设计我也可以完成log文件的生成。但是我想知道的是,为什么同样的代码,按照课上的内容我不能生成

空文件就加个

.gitkeep

文件就好了

感谢