appium

实践(2)logging日志记录

2020-05-07  本文已影响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()

上一篇下一篇

猜你喜欢

热点阅读