运行用例进行事件监听

这个项目运行成功,设计到的功能点:本文介绍如何写一个Python日志类,
用来输出不同级别的日志信息到本地文件夹下的日志文件里。为什么需要日志输出呢,
我们需要记录我们测试脚本到底做了什么事情,最好的办法是写事件监听
生成的日志文件格式是 年月日时分秒.log
自定义日志类封装如下:logger.py,新建在test包下
testbaidu.py  是测试用例,同时也引用了logger.py文件

遇到的问题:webdriver.Firefox()  一定要大写F
def setUp  一定要U大写,p小写

运行的文件:testbaidu.py

testbaidu.py 文件内容

# coding=utf-8

import unittest
from selenium import webdriver
import time

from test.logger import Logger
mylogger = Logger(logger='testbaidu').getlog()

class BaiduSearch(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.maximize_window()
        self.driver.implicitly_wait(8)
        self.driver.get("https://www.baidu.com")
        mylogger.info("打开浏览器") #这个就是监听作用

    def tearDown(self):
        self.driver.implicitly_wait(8)
        self.driver.quit()
        mylogger.info("关闭浏览器")

    def test_baidu_search(self):
        self.driver.find_element_by_id('kw').send_keys('selenium')
        mylogger.info("输入框输入selenium")
        time.sleep(2)
        self.driver.find_element_by_id('su').click()
        mylogger.info("点击搜索按键")
        time.sleep(2)

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

logger.py 文件内容

# coding=utf-8

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 3.导入模块

import logging
import os.path
import time
class Logger(object):

    def __init__(self, logger):
        """
        指定保存日志的文件路径,日志级别,以及调用文件
        将日志存入到指定的文件中
        :param logger:
        """
        # 创建一个logger
        self.logger = logging.getLogger(logger)
        self.logger.setLevel(logging.DEBUG)

        # 创建一个handler,用于写入日志文件
        rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
        print(os.getcwd())
        log_path = (os.path.dirname(os.getcwd() + '\\Logs\\'))
        print(log_path)
        log_name = log_path + rq + '.log'
        fh = logging.FileHandler(log_name)
        fh.setLevel(logging.INFO)

        # 再创建一个handler,用于输出到控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)

        # 定义handler的输出格式
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 给logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger

目录结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值