自动化筛选Excel测试用例文件

一、工具介绍

        本文将介绍一个实用的Python脚本filtration_file.py,它能够自动化筛选指定目录下的Excel测试用例文件,支持灵活配置需要启用或禁用的文件。

  • 脚本功能概述:
    1、自动扫描指定目录下的所有Excel文件(.xlsx)
    2、支持通过配置文件灵活控制需要运行的文件
    3、默认排除调试用的文件(文件名包含"debug_case")
    4、支持白名单(enabled_file)和黑名单(disable_file)两种过滤方式

二、代码解析

2.1、导入必要的库

#!/usr/bin/python
# -*- coding: utf-8 -*-
# @Users: LiMu
# @Files:filtration_file.py
# @Times: 2025/7/24 
# @Software:PyCharm

import os
import sys
import json
import time
import random
from pathlib import Path
  • 脚本使用了Python标准库中的多个模块,特别是pathlib模块提供了面向对象的文件系统路径操作。

2.2、主函数get_excel_files_to_run()

def get_excel_files_to_run():
    # 定义包含测试用例的目录
    BASE_DIR = Path(__file__).parent
    sys.path.append(str(BASE_DIR))

    testcases_dir = BASE_DIR / "cases"
  • 首先获取脚本所在目录作为基础路径,并将"cases"子目录作为测试用例的存放位置。

2.3、读取配置文件

    # 读取配置中的 enabled_file 和 disable_file 列表
    readconfig = {"enabled_file":[],"disable_file":[]}
    enabled_file = readconfig.get("enabled_file", [])
    disable_file = readconfig.get("disable_file", [])
  • 这里初始化了一个配置字典,实际使用时可以从外部配置文件读取。

2.4、白名单过滤

    if not enabled_file:
        # 获取项目中testcase路径下所有 Excel 文件
        all_excel_files = list(testcases_dir.glob("*.xlsx"))

        #当readconfig的enabled_file=[]时,读取文件名不debug_case的调试文件以外其他所有文件
        excel_files = [f for f in all_excel_files if "debug_case" not in f.name.lower() and "~$" not in f.name.lower()]

    else:
        # 如果 enabled_file 非空,直接返回指定的文件(不检查 debug_case)
        excel_files = [testcases_dir / f for f in enabled_file if (testcases_dir / f).exists()]
  • 当enabled_file为空时,不获取文件名包含debug_case的调试文件
  • 当enabled_file为空时,不获取打开文件的缓存格式~$文件
  • 当enabled_file不为空时,只获取列表中指定的文件

2.5、黑名单过滤

    # 在已筛选的 excel_files 基础上,过滤掉 disable_file 中包含的文件
    if disable_file:
        excel_files = [f for f in excel_files if f.name not in disable_file and not any(disable_pattern in f.name for disable_pattern in disable_excel)]
  • 对已经筛选出的文件,再根据黑名单进行二次过滤。

2.6、主程序入口

if __name__ == '__main__':
    # 获取所有Excel文件以运行
    excel_files = get_excel_files_to_run()

    # 从所有Excel文件中读取测试用例
    for excel_file in excel_files:
        print(excel_file)
  • 当直接运行脚本时,会打印出所有符合条件的Excel文件路径。

三、总结

这个脚本为测试自动化提供了一个实用的文件筛选工具,通过灵活的配置可以适应不同的测试需求。它的设计体现了Python在文件操作和路径处理上的简洁性,同时也展示了列表推导式在数据处理中的强大能力。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容