10 web 自动化之 yaml 数据/日志/截图

一、yaml 数据获取

需要安装 PyYAML 库

import yaml
import os
from TestPOM.common import dir_config as Dir
import jsonpath

class Data:
    def __init__(self,key=None,file_name="test_datas.yaml"):
        file_path = os.path.join(Dir.testdata_dir, file_name)
        with open(file_path, encoding="utf-8") as yaml_file:
            self.data = yaml.load(yaml_file, Loader=yaml.FullLoader)  # 字典类型
            if key is not None:
                self.data = jsonpath.jsonpath(self.data, f"$..{key}")

if __name__ == "__main__":
    print(*Data("fail").data[0])

二、日志获取

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}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值