• 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产生日志记录,可点击查看。

  • 相关阅读:
    Android开发中完全退出程序的三种方法
    android绑定sqlite数据库与程序一起发布
    Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?
    [Android]发布Sqlite数据库
    Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
    解决Android的ListView控件滚动时背景变黑
    android 获取当前程序路径
    免费的Android UI库及组件推荐
    Android界面特殊全汇总
    Android显示GIF动画 GifView
  • 原文地址:https://www.cnblogs.com/qingqing-919/p/8717209.html
Copyright © 2020-2023  润新知