# -*-coding:utf-8 -*- # # --------------------------------------------------------------------------- # ProjectName: test62 # FileName: __init__.py # Author: lao_zhao # Datetime: 2024/9/4 14:01 # Description: # # --------------------------------------------------------------------------- import logging import os import time """ pytest输出报告的插件:pytest-html. pip install pytest-html. 命令:pytest 用例层 -vv --html=报告存名称 --self-contained-html 报告输出是可能有用例会断言失败,断言失败的用例可以进行失败重跑。失败重跑的插件为:pytest-rerunfailures. pip install pytest-rerunfailures pytest 用例层 -vv --html=报告存名称 --self-contained-html --reruns 失败重跑的次数 --reruns-delay 每次失败重跑的间隔时间 """ """ allure生成报告: pip install allure-pytest 1: 生成测试结果的json文件。 pytest 用例层 --alluredir=存放json文件的目录 --clean-alluredir 2: 根据第一步的json文件生成报告 allure serve 第一步生成json文件的存放目录 allure generate 第一步生成json文件的存放目录 -o 静态报告保存的路径 3: 打开allure生成的静态报告:allure open 静态报告保存的路径 """ def log(name="张三"): # 创建Logger对象 logger = logging.getLogger(name) # 设置日志的级别 logger.level = logging.INFO # 2024-09-04-14-09-10.log log_name = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())+".log" log_dir = os.path.join(os.path.join(os.path.dirname(__file__), "report"), "log") log_path = os.path.join(log_dir, log_name) # 设置写入日志的文件 handle = logging.FileHandler(log_path, mode="a", encoding="utf-8") # 设置日志的显示格式 formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s -- %(name)s') # 设置日志文件中的日志格式 handle.setFormatter(formatter) # 给Logger对象添加文件 logger.addHandler(handle) # 将Logger对象返回 return logger # 先执行函数,获取函数的返回值,以后之间使用函数的返回值写入日志 log = log()