接口自动化框架篇: 接口框架中的日志记录封装

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


在接口自动化测试中,日志记录是一个重要的环节,它能帮助我们追踪接口的执行情况、调试问题、分析测试结果等。通过规范的日志记录,我们可以更好地管理和维护接口自动化测试代码。本文将详细介绍如何在 Pytest 框架中封装日志记录,包括按日期分割日志文件、为不同等级的日志设置颜色等。

一、日志记录封装的目标

按日期分割日志文件:每天生成一个日志文件,便于管理和查找。

为不同等级的日志设置颜色:便于在控制台中快速识别日志等级。

灵活配置日志等级和输出格式:根据需要调整日志的详细程度和显示格式。

二、日志记录封装的实现

(一)导入日志库

首先,需要导入日志库。常用的有 logging 库和 colorlog 库。colorlog 库可以为日志添加颜色,使得在控制台中更易于阅读。

import logging

import colorlog

from datetime import datetime

import os

(二)定义日志记录器

在接口框架的入口文件中,定义一个日志记录器,用来记录整个接口测试过程中的日志信息。

logger = logging.getLogger(__name__)

(三)配置日志记录器

在接口框架的配置文件中,配置日志记录器的文件输出路径、日志级别、日志格式等。

# 日志颜色配置

log_colors_config = {

    'DEBUG': 'cyan',

    'INFO': 'green',

    'WARNING': 'yellow',

    'ERROR': 'red',

    'CRITICAL': 'bold_red',

}

# 创建日志目录

log_path = os.path.join(os.path.dirname(__file__), 'logs')

if not os.path.exists(log_path):

    os.mkdir(log_path)

# 获取当前日期作为日志文件名

log_file_name = datetime.now().strftime("%Y-%m-%d") + '.log'

log_file_path = os.path.join(log_path, log_file_name)

# 配置日志输出到文件

file_handler = logging.FileHandler(log_file_path, mode='a', encoding='utf-8')

file_formatter = logging.Formatter(

    fmt='[%(asctime)s] %(filename)s -> %(funcName)s line:%(lineno)d [%(levelname)s] : %(message)s',

    datefmt='%Y-%m-%d %H:%M:%S'

)

file_handler.setFormatter(file_formatter)

# 配置日志输出到控制台

console_handler = logging.StreamHandler()

console_formatter = colorlog.ColoredFormatter(

    fmt='%(log_color)s[%(asctime)s] %(filename)s -> %(funcName)s line:%(lineno)d [%(levelname)s] : %(message)s',

    datefmt='%Y-%m-%d %H:%M:%S',

    log_colors=log_colors_config

)

console_handler.setFormatter(console_formatter)

# 设置日志级别

logger.setLevel(logging.DEBUG)

console_handler.setLevel(logging.DEBUG)

file_handler.setLevel(logging.INFO)

# 添加日志处理器

logger.addHandler(console_handler)

logger.addHandler(file_handler)

(四)封装日志记录函数

为了方便在测试用例中使用日志记录,可以封装一些日志记录函数。

class ApiLog:

    @staticmethod

    def debug(message):

        logger.debug(message)

    @staticmethod

    def info(message):

        logger.info(message)

    @staticmethod

    def warning(message):

        logger.warning(message)

    @staticmethod

    def error(message):

        logger.error(message)

    @staticmethod

    def critical(message):

        logger.critical(message)

(五)在测试用例中使用日志记录

在测试用例中,可以通过封装的日志记录函数记录日志。

def test_example():

    ApiLog.info("测试开始")

    ApiLog.debug("执行测试步骤")

    ApiLog.warning("这是一个警告")

    ApiLog.error("这是一个错误")

    ApiLog.critical("这是一个严重错误")‍

三、总结

通过上述步骤,我们可以在 Pytest 框架中实现日志记录的封装,包括按日期分割日志文件和为不同等级的日志设置颜色。这不仅可以提高开发效率,还能使日志记录更加清晰和易于管理。希望本文能够对读者在接口自动化框架中实现日志记录封装提供帮助。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​
在这里插入图片描述​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值