# test_system_framework **Repository Path**: jinxinran/test_system_framework ## Basic Information - **Project Name**: test_system_framework - **Description**: 构建一套AI测试的体系 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Test System Framework [English](./README.md) | [中文](./README_zh.md) ## 项目简介 Test System Framework 是一个智能化的自动化测试框架,支持 API 测试、UI 测试和功能测试。该框架集成了 AI 智能体技术,能够自动分析 API 文档、生成测试用例、执行测试并分析测试结果。 ## 核心功能 ### 🔧 测试引擎 - **TestEngine**: 支持 API、UI 和功能测试的多类型测试执行引擎 - **TestAnalyzer**: 测试结果分析与报告生成 - **TestGenerator**: 基于 OpenAPI 规范自动生成测试用例 ### 🤖 智能测试代理 - **APITestAgent**: API 测试智能体,支持文档分析、测试用例生成与执行 - **UITestAgent**: UI 自动化测试智能体 - **FunctionalTestAgent**: 功能测试智能体 ### 📥 API 导入器 支持多种 API 文档格式的导入: - Swagger / OpenAPI - Postman Collection - Excel 表格 - XMind 思维导图 - curl 命令 ### 📊 测试管理 - **TestCaseManager**: 测试用例的保存、加载、搜索与管理 - **TestMetrics**: 测试指标记录与报告生成 - **PerformanceTest**: 性能测试支持 ## 技术栈 - **Python 3.8+** - **Playwright**: UI 自动化测试 - **Requests**: API 测试 - **Pytest**: 测试框架 - **Allure**: 测试报告 ## 目录结构 ``` . ├── test_agent_framework/ # 核心测试框架 │ ├── agents/ # 测试智能体 │ ├── core/ # 核心引擎 │ ├── utils/ # 工具类 │ └── tests/ # 框架测试 ├── tools/ # 工具集 │ ├── importers/ # API 导入器 │ └── api_doc_converter.py # API 文档转换器 ├── skills/ # 技能模块 │ └── api_importer_skill/ # API 导入器 SKII 解决方案 ├── tests/ # 测试用例 │ └── importers/ # 导入器测试 ├── docs/ # 文档 │ ├── templates/ # 文档模板 │ └── *.md # 使用指南 └── examples/ # 示例代码 ``` ## 快速开始 ### 安装依赖 ```bash # 克隆项目 git clone cd test_system_framework # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 安装 Playwright 浏览器 playwright install ``` ### 基本用法 #### 1. 使用 API 测试智能体 ```python from test_agent_framework.agents.api_agent import APITestAgent # 初始化 API 测试智能体 agent = APITestAgent() # 分析 API 文档 api_doc = """ # User API ## Get User GET /api/users/{id} """ analysis = agent.analyze_api_documentation(api_doc) print(analysis) # 生成测试用例 test_cases = agent.generate_test_cases_from_api_doc(api_doc) print(f"生成了 {len(test_cases)} 个测试用例") # 执行测试 results = agent.execute_api_tests(test_cases) print(results) # 分析测试结果 analysis_result = agent.analyze_test_results(results) print(analysis_result) ``` #### 2. 使用测试执行引擎 ```python from test_agent_framework.core.test_engine import TestEngine # 创建测试引擎 engine = TestEngine(timeout=30) # 定义测试用例 test_case = { "name": "测试用户获取API", "steps": [ { "type": "api", "method": "GET", "url": "https://api.example.com/users/1", "assertions": [ {"type": "status_code", "expected": 200}, {"type": "json_path", "path": "$.id", "expected": 1} ] } ] } # 执行测试 result = engine.execute_test_case(test_case) print(result) ``` #### 3. 导入 API 文档 ```python from tools.importers.importer_factory import import_api_file # 导入 Swagger/OpenAPI 文档 api_doc = import_api_file("api_spec.yaml") # 导入 Postman 集合 api_doc = import_api_file("collection.json") # 导入 Excel 文件 api_doc = import_api_file("api_table.xlsx") ``` #### 4. 使用统一导入器 ```python from tools.importers.importer_factory import UnifiedImporter # 创建统一导入器 importer = UnifiedImporter() # 导入文件 api_doc = importer.import_file("path/to/file") # 批量导入 docs = importer.import_multiple(["file1.json", "file2.json"]) # 合并文档 merged_doc = importer.merge_documents(docs, title="合并的API文档") ``` #### 5. 使用 SKII 技能 ```python from skills.api_importer_skill.skill import APIImporterSkill # 创建 SKII 实例 skill = APIImporterSkill() # 处理不同类型的数据源 result = skill.process_api_source("path/to/file", source_type="auto") result = skill.process_api_source("https://api.example.com/swagger.json", source_type="url") result = skill.process_api_source('curl -X GET "https://api.example.com/users"', source_type="curl") # 生成测试用例 test_files = skill.generate_tests(api_doc, output_dir="tests/generated") ``` ## 运行测试 ```bash # 运行所有测试 pytest # 运行特定测试文件 pytest tests/importers/test_importers.py # 生成 Allure 报告 pytest --alluredir=allure-results allure serve allure-results ``` ## 文档 - [用户指南](./docs/user_guide.md) - [API 测试智能体指南](./docs/api_agent_guide.md) - [API 导入器指南](./docs/api_importers_guide.md) - [API 文档转换器指南](./docs/api_doc_converter_guide.md) ## 许可证 MIT License