Python自动化测试接口保存日志到本地

前言

使用python第三方库 ‘logging’完成写入日志
使用包 'os’保存日志文件

导入

import logging 
import os

操作步骤

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

if not os.path.exists(LOG_DIR):
    os.mkdir(LOG_DIR)
# 判断本地是否有文件夹ts没有的话脚本会新建有的话会将数据放入
`注意你需要在当前脚本的根目录下新建文件夹logs`
logger = logging.getLogger()
# 用来获取一个 logger 对象的,可以通过这个对象来记录你的应用程序的日志消息
os.join # 用来保存的方法
"ts-%s.log" % time.strftime("%Y-%m-%d"))
# 获取当前日期插入到 'ts-%s.log' 字符串的 %s 位置
# 生成形如 "ts-2023-09-13.log" 的文件名
encoding='UTF-8' # 编码格式
logger.setLevel(logging.INFO)
# 所有级别为 INFO 的日志消息
# 以及更高级别(WARNING、ERROR、CRITICAL)的消息都会被处理。
# 级别低于 INFO 的消息(如 DEBUG)则会被忽略,不会被处理。
%(asctime)s # 它会被替换为日志事件发生的时间
# asctime 是日志事件的时间戳例如 "2023-09-15 12:34:56,789"
%(levelname)s # 它会被替换为日志事件的级别名称
# 如果日志级别是 INFO%(levelname)s 将被替换为字符串 "INFO"
%(message)s
# 它会被替换为实际的日志消息内容
`例如:
级别为 INFO,
内容为 "This is a test message",
并且该消息在 "2023-09-15 12:34:56,789" `
[2023-09-15 12:34:56,789] INFO ts This is a test message
handler.setFormatter(logging_format)
# 确保日志以上面的格式进行输出
logger.addHandler(handler)
# 调用 logger.addHandler(handler) 时,
# 你实际上是在告诉 logger:
# 当你记录日志时,请将日志消息传递给这个 handler 进行处理。

以上代码将日志环境搭配完成

你该如何将测试数据添加到日志中呢?
使用 logger.info() 方法
括号里放入测试的数据

例如:
logger.info(f"{‘=’ * 25}接口名称【登录】{‘=’ * 25}“)
logger.info(f”{data[0]}_{data[4]}“)
logger.info(f"请求url:{url}”)
logger.info(f"请求参数:{params}“)
logger.info(f"请求方式:{method}”)
logger.info(f"前置sql:{sql_list}“)
logger.info(f"预期结果:{expected_result}”)

============================ 我分 ======================
上述代码完成了日志的写入与保存

IDE控制台显示日志信息

stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging_format)
if not logger.handlers:
    logger.addHandler(handler)
    logger.addHandler(stream_handler)
# 条件判断 logger.handlers 里面是否有值 
# 如果为空 那么向里面添加值
# 如果不为空 不向里面添加任何值
`避免日志出现两个同样的数据!!!`

实现结果

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

完成!!!

我对生成到IDE控制台的代码也不是很理解 只知道这么写可以实现预期效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值