Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤:
如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站百万播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:扣扣群:798478386
B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibiliB站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click
1、在pytest配置文件(conftest.py)中,定义一个日志输出路径,并设置logging模块。
import logging
import os
# 定义日志输出目录
log_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "logs")
# 设置logging模块
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(os.path.join(log_path, 'output.log')),
logging.StreamHandler()
]
)
2、在测试用例中调用logging模块,输入需要生成的日志信息。
import logging
def test_example():
# 执行测试用例
...
# 添加日志信息
logging.info('这是一条测试日志')
3、运行pytest时,通过命令行参数指定日志输出目录位置。
pytest --logdir=path/to/logs
4、最后,在日志目录中就能找到生成的日志文件output.log。
总之,使用内置的logging模块可以方便地在pytest中实现接口自动化测试用例执行后打印日志并生成日志文件。同时,建议将日志输出路径作为一个配置选项来指定,这样可以避免硬编码路径并提高代码的可维护性。