文章目錄
- 一、yaml 數據獲取
- 二、日志獲取
- 三、截圖
一、yaml 數據獲取
需要安裝 PyYAML 庫
import yaml
import os
from TestPOM.common import dir_config as Dir
import jsonpathclass 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 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}")