文章目录
一、yaml 数据获取
需要安装 PyYAML 库
import yaml
import os
from TestPOM.common import dir_config as Dir
def 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 time
class FrameLogger:
def get_logger(self):
# 创建日志器
logger = logging.getLogger("logger")
# 日志输出当前级别及以上级别的信息,默认日志输出最低级别是warning
if 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}")