pytest+yaml+allure接口自动化测试框架02.封装日志与缓存
2021/9/24 23:13:49
本文主要是介绍pytest+yaml+allure接口自动化测试框架02.封装日志与缓存,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
本章节介绍以下封装日志和缓存类。
在测试执行的过程中我们需要日志去输出关键信息,并能进行实时的查看。可以理解为我们需要监听我们的脚本在做什么,以及做到那一步。
缓存其实就是一个变量池,把我们不需要存储的一些临时信息存储起来,比如临时的变量,传递的参数等临时信息。
注意:鄙人用的编辑器是VScode。测试有问题,可以先换成和我一样试试。
封装日志
打开utils/logger.py
文件,这个utils的意思是一个工具包的意思。在这个里面我们主要存放可以独立运行的工具模块。比如日志文件就是一个可以独立运行的。打开之后我们输入以下的内容:
# -*- coding: utf-8 -*- __author__ = 'wxhou' __email__ = '1084502012@qq.com' """ 日志类 """ import os import logging from logging.handlers import RotatingFileHandler def init_logger(): """初始化日志""" basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) debug_file = os.path.join(basedir, 'logs', 'server.log') logger_formatter = logging.Formatter( '%(levelname)s %(asctime)s [%(filename)s:%(lineno)s] %(thread)d %(message)s') # debug logger_debug = logging.getLogger('apitest') handler_debug = RotatingFileHandler(debug_file, encoding='utf-8', maxBytes=20 * 1024 * 1024, backupCount=10) handler_debug.setFormatter(logger_formatter) logger_debug.setLevel(logging.DEBUG) logger_debug.addHandler(handler_debug) return logger_debug logger = init_logger() if __name__ == '__main__': logger.debug("debug") logger.info("info") logger.warning('warning') logger.error("error") logger.critical('critical')
下面一些日志输入示例。我们来执行一下。
可以看到成功的在日志文件中写入了新的信息。
缓存
是的你没看错,我给它起的名字就叫缓存
,其实内部组成本质就是一个python字典。而不是你想的redis这种。
打开common/cache.py
文件,我们输入以下内容。
# -*- coding: utf-8 -*- __author__ = 'wxhou' __email__ = '1084502012@qq.com' """ 缓存类 """ from collections import UserDict class CachePool(UserDict): """全局变量池""" def get(self, key, default=None): return self.data.get(key, default) def set(self, key, value = None): self.data.setdefault(key, value) def has(self, key): return key in self.data def __len__(self): return len(self.data) def __bool__(self): return bool(self.data) cache = CachePool() if __name__ == '__main__': cache.set('name', 'wxhou') print(len(cache)) print(cache.get('name'))
我们执行测试一下:
可以看到没有问题。通过这个字典
我们把一些临时的信息放在这个里面,因为只是示例项目,用redis显得有些麻烦,采用这种方式更为简便一些。
关于日志和缓存封装的章节就介绍到这里。
这篇关于pytest+yaml+allure接口自动化测试框架02.封装日志与缓存的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-08如何用关键链方法突破项目管理瓶颈?
- 2025-01-08电商人必看!6 款提升团队协作与客户满意度软件!
- 2025-01-08电商团队管理混乱?快用这 6 款软件优化协作流程!
- 2025-01-08短剧制作效率低?试试这5款任务管理工具
- 2025-01-08高效应对电商高峰,6 款团队协作软件大揭秘!
- 2025-01-08为什么外贸人都爱上了在线协作工具?
- 2025-01-08提升工作效率,从这些任务管理工具开始
- 2025-01-08新年电商订单暴增,必备的 6 款可视化协作办公软件有哪些?
- 2025-01-08短剧制作经理必备技能与工具全解析
- 2025-01-08在线协作让年货大促轻松应对!