webdriver高级应用- 使用日志模块记录测试过程中的信息

在自动化脚本执行过程中,使用Python的日志模块记录在测试用例执行过程中一些重要信息或者错误日志等,用于监控和后续调试脚本。

在pycharm下新建工程,并创建Log.py、Logger.conf以及test_use_log.py三个文件。

Logger.conf配置文件,内容如下:

################################################
###########propagate 是否继承父类的log信息,0:否
[loggers]
keys=root,example01,example02
[logger_root]
level=DEBUG
handlers=hand01,hand02
[logger_example01]
handlers=hand01,hand02
qualname=example01
propagate=0
[logger_example02]
handlers=hand01,hand03
qualname=example02
propagate=0
###############################################
[handlers]
keys=hand01,hand02,hand03
[handler_hand01]
class=StreamHandler
level=DEBUG
formatter=form01
args=(sys.stderr,)
[handler_hand02]
class=FileHandler
level=DEBUG
formatter=form01
args=('e:\AutoTestLog.log', 'a')
[handler_hand03]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('e:\AutoTestLog.log', 'a', 10*1024*1024, 5)
###############################################
[formatters]
keys=form01,form02
[formatter_form01]
format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
datefmt=%Y-%m-%d %H:%M:%S
[formatter_form02]
format=%(name)-12s: %(levelname)-8s %(message)s
datefmt=%Y-%m-%d %H:%M:%S

Log.py文件内容:

#encoding=utf-8
import logging.config
import logging

logging.config.fileConfig("Logger.conf")
logger = logging.getLogger("example01")

#日志配置文件:多个logger,每个logger,指定不同的handler
#handler:设定了日志输出行的格式
#handler:以及设定写日志到文件(是否回滚)?还是到屏幕
#handler:还定了打印日志的级别。

def debug(message):
    # 打印debug级别的日志方法
   print "debug"
   logger.debug(message)

def warning(message):
    # 打印warning级别的日志方法
    logger.warning(message)

def info(message):
    # 打印info级别的日志方法
    logger.info(message)

if __name__=="__main__":
    debug("hi")
    info("gloryroad")
    warning("hello")

test_use_log.py文件内容如下:

#encoding=utf-8
from selenium import webdriver
import unittest
import logging

# 从当前文件所在目录中导入Log.py文件中所有内容
from Log import *

class TestSoGouByObjectMap(unittest.TestCase):

    def setUp(self):
        # 启动Firefox浏览器
        self.driver = webdriver.Ie(executable_path = "e:\IEDriverServer")

    def testSoGouSearch(self):
        debug(u"============== 搜索 ==============")
        url = "http://www.sogou.com"
        # 访问搜狗首页
        self.driver.get(url)
        debug(u"访问sogou首页")
        self.driver.find_element_by_id("query").send_keys(u"光荣之路自动化测试")
        warning(u"在输入框中输入搜索关键字串“光荣之路自动化测试”"+self.driver.find_element_by_id("query").get_attribute("value"))
        self.driver.find_element_by_id("stb").click()
        info(u"点击搜索按钮")
        debug(u"========== 测试用例执行结束 ==========")

    def tearDown(self):
        # 退出IE浏览器
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

执行成功会在e:\AutoTestLog.log产生日志记录,可点击查看。

原文地址:https://www.cnblogs.com/qingqing-919/p/8717209.html