美文网首页appium
实践(2)logging日志记录

实践(2)logging日志记录

作者: 落地逃 | 来源:发表于2020-05-07 16:48 被阅读0次

    日志是用来帮我们定位问题,通过日志可以更准准确的确定问题所在,我们可以设定日志级别、日志的输出格式等

    场景:

    在启动APP时,输出start app 日志

    导航页跳转到首页过程,输出执行的页面为interest 页面还是welcome 页面

    一. 日志

    1.  日志流程

    首先,导入日志模块  

    然后,basicconfig 方法创建记录器,为记录做基本配置。

            日志级别:level

            日志输出路径:Filename

            日志输出格式:Format

    最后,在需要添加日志的地方输出日志即可,logging.info(’start app‘)

    2. 代码实现

    import logging  

    logging.basicConfig(level=logging.INFO,filename='456.log',

                        format='%(asctime)s %(filename)s[line:%(lineno)d]%(levelname)s%(message)s')

    #判断是否首次启动App,跳过导航页到首页

    def welcome():

        logging.info('skip welcome')

        skipwel=driver.find_elements_by_class_name('android.widget.Button')

        skipwel[1].click()

    try:

        driver.find_elements_by_class_name('android.widget.Button')

    except NoSuchElementException:

        logging.info('run welcome')

        welcome()

    else:

        logging.info('run interest')

        skipinterest=driver.find_elements_by_class_name('android.widget.Button')

        skipinterest[0].click()

    3.运行

    在代码中456.log中查看日志输出信息

    二 日志模块

    上面讲述的是单个功能日志的流程,整个app测试下来有很多功能都需要用到日志,如果每个功能都重复编写,会造成代码冗余

    所以,下面我们把日志的配置参数抽离出来,需要时直接调用即可

    1.首先建立log.conf文件,存储配置参数等信息

    log.conf文件代码:

    [loggers]

    keys=root,infoLogger

    [logger_root]

    level=DEBUG

    handlers=consoleHander,fileHandler

    [logger_infoLogger]

    handlers=consoleHander,fileHandler

    qualname=infoLogger

    propagat=0

    [handlers]

    keys=consoleHander,fileHandler

    [handler_consoleHander]

    class=StreamHandler

    level=INFO

    formatter=form02

    args=(sys.stdout,)

    [handler_fileHandler]

    class=FileHandler

    level=INFO

    formatter=form01

    args=('456.log','a')

    [formatters]

    keys=form01,form02

    2.在需要引用log的py文件中引用log.conf文件

    将上文中如下代码删除

    logging.basicConfig(level=logging.INFO,filename='456.log',

                        format='%(asctime)s %(filename)s[line:%(lineno)d]%(levelname)s%(message)s')

    更换为:

    CON_LOG='log.conf'

    logging.config.fileConfig(CON_LOG)

    logging=logging.getLogger()

    相关文章

      网友评论

        本文标题:实践(2)logging日志记录

        本文链接:https://www.haomeiwen.com/subject/idybeqtx.html