# 接口自动化框架 **Repository Path**: yccock/testpilot ## Basic Information - **Project Name**: 接口自动化框架 - **Description**: 企业级接口自动化测试框架,基于 Python、Pytest、Requests、Allure、Redis、MySQL 和 Pydantic,提供强大灵活的自动化测试能力,支持多种认证机制、数据驱动测试和集成能力。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-14 - **Last Updated**: 2025-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # API Auto Test ## 项目概述 本项目是基于 Python、Pytest、Allure、Yaml、MySQL 和 Redis 实现的接口自动化测试框架,旨在提供高效、灵活的接口测试解决方案。 - **项目仓库**: [Gitee - API Auto Test](https://gitee.com/Hellchin/apiAutoTest) - **作者**: Hell-chin 如果本项目对您有帮助,请为项目加星(Star)以示支持,谢谢! ![项目预览](docs/assets/img.png) ## 功能介绍 - **测试用例管理** - 支持编写和组织测试用例,提供灵活的参数化支持。 - 支持测试用例分组和分类,方便用例管理。 - **请求构建与发送** - 支持多种 HTTP 方法(GET、POST、PUT、DELETE 等)。 - 允许自定义请求头、请求体、查询参数和路径参数。 - 支持文件上传和下载。 - **响应验证** - 提供状态码、响应时间、响应体内容等多种断言方法。 - 支持 JSON Schema 验证。 - 可处理和验证不同格式的数据(JSON、XML 等)。 - **数据驱动测试** - 允许从外部数据源(如 CSV、Excel、数据库)导入数据。 - 支持数据参数化,便于进行大规模测试。 - **环境管理** - 支持多环境配置(如开发、测试、生产环境)。 - 提供环境变量和配置文件的管理。 - **日志和报告** - 提供详细的运行日志,方便调试。 - 生成可视化测试报告,展示测试结果和统计信息。 - **错误处理和重试机制** - 支持请求失败后的重试机制。 - 允许设置测试前置条件和后置清理操作。 - **持续集成与部署(CI/CD)** - 支持与 Jenkins、GitLab CI 等持续集成工具的集成。 - 提供命令行接口(CLI),便于自动化执行。 - **安全与认证** - 支持多种认证机制(如 OAuth、JWT、API Key)。 - 可模拟和测试常见安全漏洞(如 SQL 注入、XSS)。 - **数据库操作** - 支持在用例数据中直接写入 SQL 并执行,支持断言,无需额外编码。 - **自动生成用例代码** - 根据测试用例数据自动生成对应的用例代码,方便后续维护。 - **自定义标记与前后置操作** - 支持提取变量、断言、数据库操作和等待时间设置。 ## 开发计划 - **接口文档转用例**: 支持将 Swagger 接口文档转换为 YAML 格式的用例文件,节省编写时间。 - **通知集成**: 支持钉钉、企业微信通知,执行成功后可发送通知到指定用户。 - **自定义扩展字段**: 支持生成随机数据,方便测试用例中调用。 - **运行时长统计**: 提供接口运行时长统计的功能,并可根据需求启用或禁用。 - **代理录制**: 支持通过代理录制生成 YAML 格式的测试用例。 ## 安装步骤 1. **克隆项目仓库**: ```bash git clone https://gitee.com/Hellchin/apiAutoTest.git ``` 2. **创建虚拟环境**: ```bash python -m venv venv source venv/bin/activate # Linux 或 macOS venv\Scripts\activate # Windows ``` 3. **安装依赖**: ```bash pip install -r requirements.txt ``` 4. **配置环境变量**: - 复制 `config/env_config.example.py` 并重命名为 `config/env_config.py`。 - 根据实际情况修改 `config/env_config.py` 中的配置项。 - 复制 `config/secrets.example.py` 并重命名为 `config/secrets.py`。 - 根据实际情况修改 `config/secrets.py` 中的敏感信息。 ## 运行测试 1. **运行所有测试**: ```bash pytest tests/ ``` 2. **生成 HTML 测试报告**: ```bash pytest --html=report.html ``` ## 测试用例结构 - **config**: 配置信息 - **functional**: 功能测试 - **test_scenario**: 测试场景 - **test_steps**: 测试步骤 - **name**: 测试用例名称 - **case_id**: 测试用例 ID - **url**: 请求地址 - **method**: 请求方法 - **mark**: 标记 - **request**: 请求参数 - **params**: 请求参数 - **body**: 请求体 - **headers**: 请求头 - **cookies**: 请求 cookie - **auth**: 认证信息 - **setup**: 前置请求 - **teardown**: 后置请求 - **settings**: 设置项 - **response**: 响应参数 - **test_data**: 测试数据 ## 文档 - [**项目架构**](docs/architecture.md) - [**API 文档**](docs/api_documentation.md) - [**测试策略**](docs/testing_strategies.md) ## 贡献指南 欢迎对本项目贡献代码和文档!请遵循以下步骤: 1. **Fork 项目**: 在 Gitee 上 Fork 本项目。 2. **克隆 Fork 后的仓库**: ```bash git clone https://gitee.com/your-username/apiAutoTest.git ``` 3. **创建分支**: ```bash git checkout -b feature/your-feature-name ``` 4. **提交更改**: 提交您对代码或文档的改进。 5. **发起 Pull Request**: 在 Gitee 上发起 Pull Request,描述您的更改内容。 ## 版本更新记录 - **v0.1.0**: 初始版本发布。 ## 联系方式 - **项目负责人**: Hell-chin - **QQ**: 438953203(请备注:APIAutoTest) - **GitHub**: [项目 GitHub 链接](https://github.com/) ## 支持本项目 如果您喜欢这个项目,请考虑支持我: ![赞赏二维码](docs/assets/appreciation_code.png)