您的位置:首页 > 汽车 > 时评 > b2b的典型网站_图帮主官方在线设计平台_新冠疫情最新数据_seo推广专员工作内容

b2b的典型网站_图帮主官方在线设计平台_新冠疫情最新数据_seo推广专员工作内容

2025/1/1 22:17:19 来源:https://blog.csdn.net/qq_42755008/article/details/144372064  浏览:    关键词:b2b的典型网站_图帮主官方在线设计平台_新冠疫情最新数据_seo推广专员工作内容
b2b的典型网站_图帮主官方在线设计平台_新冠疫情最新数据_seo推广专员工作内容

1、 在utils文件夹下,新增logger.py文件,用于封装日志
在这里插入图片描述
代码
logger.py

#!/usr/bin/env python3
# -*-coding:utf-8-*-
# __author__: hunterimport logging
import os
import timeclass Logger:def __init__(self, loggername):# 创建一个loggerself.logger = logging.getLogger(loggername)print(self.logger)self.logger.setLevel(logging.DEBUG)# 创建一个handler,用于写入文件rq = time.strftime('%Y%m%d %H-%M-%S', time.localtime(time.time()))log_path = os.path.abspath('.') + '/logs/'  # 指定文件输出路径,注意logs是一个文件夹,logname = log_path + rq + 'test.log'  # 指定输出的日志文件名fh = logging.FileHandler(logname, encoding='utf-8')  # 指定utf-8格式编码,避免输出的日志文本乱码print(fh)fh.setLevel(logging.DEBUG)# 创建一个handler,用于将日志输出到控制台ch = logging.StreamHandler()ch.setLevel(logging.DEBUG)# 定义handler的输出格式formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s')fh.setFormatter(formatter)ch.setFormatter(formatter)# 给logger添加handlerself.logger.addHandler(fh)self.logger.addHandler(ch)def get_log(self):"""定义一个函数,回调logger实例"""return self.logger

2、 项目下新增log文件夹,用于存放生成的日志文件

3、 在test_000_login2.py文件中,调用logger,写入日志
test_000_login2.py

import unittest
import time
from selenium import webdriver
from chromedriver_py import binary_path # this will get you the path variable
from selenium.webdriver.common.by import By  # 导入 By 模块
from Test.pythonProject.test_selenium_pjz.config import readyaml
from Test.pythonProject.test_selenium_pjz.utils import handle_excel
from Test.pythonProject.test_selenium_pjz.utils.logger import Logger
class TestLogin(unittest.TestCase):def setUp(self):self.svc = webdriver.ChromeService(executable_path=binary_path)self.driver = webdriver.Chrome(service=self.svc)self.driver.maximize_window()# 打开登录页self.driver.get(readyaml.read_yaml("url"))self.logger = Logger(__name__)def test_login(self):try:rows_count = handle_excel.HandleExcel().get_rows()  # 获取Excel行数for i in range(2, rows_count+1):#获取excel中 手机号 查找元素方法 元素值telNumber = handle_excel.HandleExcel().get_value(i, handle_excel.HandleExcel().get_telNumber())way_value = handle_excel.HandleExcel().get_value(i, handle_excel.HandleExcel().get_way_value())# 查找登录元素time.sleep(2)self.driver.find_element(By.CSS_SELECTOR, way_value).clear()self.driver.find_element(By.CSS_SELECTOR, way_value).send_keys(telNumber)self.driver.find_element(By.CSS_SELECTOR,"button[class='el-button el-button--primary el-button--medium']").click()time.sleep(5)# 判断是否登录成功 判断是否跳转到了首页 并将结果写入Excelindex = self.driver.current_urlif index == "http://192.168.0.121:8089/index":handle_excel.HandleExcel().write_value(i, handle_excel.HandleExcel().get_result(), "登录成功")print(i)self.logger.get_log().debug(f"第{i-1}个用例执行成功,手机号为{telNumber}")else:handle_excel.HandleExcel().write_value(i, handle_excel.HandleExcel().get_result(), "登录失败")print(i)self.logger.get_log().info(f"第{i-1}个用例执行失败,,手机号为{telNumber}")except Exception as e:print(e)passhandle_excel.HandleExcel().write_value(i, handle_excel.HandleExcel().get_result(), "登录失败")self.logger.get_log().error(f"第{i-1}个用例执行失败,错误信息为{e}")def tearDown(self):self.driver.quit()if __name__ == '__main__':TestLogin()

4、 执行结果
可以看到,在log文件夹下 生成了日志文件
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com