web 自动化之 yaml 数据/日志/截图
文章目录
- 一、yaml 数据获取
- 二、日志获取
- 三、截图
一、yaml 数据获取
需要安装 PyYAML 库
import yaml
import os
from TestPOM.common import dir_config as Dirdef read_yaml(key,file_name="test_datas.yaml"):file_path = os.path.join(Dir.testcases_dir, file_name)with open(file_path,encoding="utf-8") as yaml_file:datas = yaml.load(yaml_file, Loader=yaml.FullLoader) # 字典类型data = datas[key]return data
二、日志获取
from TestPOM.common import dir_config as Dir
import logging
import os
import timeclass FrameLogger:def get_logger(self):# 创建日志器logger = logging.getLogger("logger")# 日志输出当前级别及以上级别的信息,默认日志输出最低级别是warningif not logger.handlers:logger.setLevel(logging.INFO)# 创建控制台处理器----》输出控制台SH = logging.StreamHandler()# 创建文件处理器----》输出文件log_path = os.path.join(Dir.logs_dir, f"log_{time.strftime('%Y%m%d%H%M%S', time.localtime())}.txt")FH = logging.FileHandler(log_path,encoding="utf-8")# 日志包含哪些内容 时间 文件 日志级别 :事件描述/问题描述formatter = logging.Formatter(fmt="[%(asctime)s] [%(filename)s] %(levelname)s :%(message)s",datefmt='%Y/%m/%d %H:%M:%S')logger.addHandler(SH)logger.addHandler(FH)SH.setFormatter(formatter)FH.setFormatter(formatter)return logger
三、截图
def save_screenshot(self,img_name):file_name = os.path.join(Dir.screenshots_dir, img_name+'.png')self.driver.save_screenshot(file_name)Log().get_logger().info(f"失败截图,截取当前网页,存储的路径:{file_name}")