# api-testing-framework **Repository Path**: sara861122/api-testing-framework ## Basic Information - **Project Name**: api-testing-framework - **Description**: 这是一个基于Java + Maven + TestNG + RestAssured + Spring Boot构建的企业级API自动化测试框架,提供完整的测试解决方案、丰富的示例模板、详细的文档指南和开箱即用的CI/CD支持。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-14 - **Last Updated**: 2026-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # API测试框架 (API Testing Framework) [![Java](https://img.shields.io/badge/Java-11+-orange.svg)](https://www.oracle.com/java/) [![Maven](https://img.shields.io/badge/Maven-3.8+-blue.svg)](https://maven.apache.org/) [![TestNG](https://img.shields.io/badge/TestNG-7.4+-green.svg)](https://testng.org/) [![RestAssured](https://img.shields.io/badge/RestAssured-5.1+-red.svg)](https://rest-assured.io/) [![Allure](https://img.shields.io/badge/Allure-2.18+-yellow.svg)](https://docs.qameta.io/allure/) 一个功能完整、易于扩展的企业级API自动化测试框架,基于Java + Maven + TestNG + RestAssured + Spring Boot构建。 ## 🚀 项目特色 - **完整的测试解决方案**: 从基础架构到高级测试技术的全覆盖 - **企业级架构设计**: 分层架构、依赖注入、模块化设计 - **丰富的示例和模板**: 提供完整的学习资源和快速开发脚手架 - **多环境支持**: 灵活的配置管理和环境切换 - **详细的测试报告**: 集成Allure报告,提供可视化测试结果 - **最佳实践指南**: 全面的API测试最佳实践文档 ## 📋 功能特性 ### 核心功能 - ✅ HTTP客户端封装 (基于RestAssured) - ✅ 多层验证体系 (HTTP层、数据层、业务层) - ✅ 测试数据管理 (多数据源支持、生命周期管理) - ✅ 自定义断言和验证规则 - ✅ 测试报告和日志增强 - ✅ 配置管理和环境支持 ### 业务API支持 - ✅ 用户管理API测试 - ✅ 产品管理API测试 - ✅ 认证授权API测试 - ✅ 可扩展的API客户端架构 ### 高级特性 - ✅ 并发测试支持 - ✅ 性能测试和基准测试 - ✅ 数据驱动测试 - ✅ 链式验证和条件验证 - ✅ 自动化测试脚手架生成 ## 🛠️ 技术栈 | 技术 | 版本 | 用途 | |------|------|------| | Java | 11+ | 开发语言 | | Maven | 3.8+ | 构建工具 | | TestNG | 7.4+ | 测试框架 | | RestAssured | 5.1+ | HTTP客户端 | | Spring Boot | 2.7+ | 依赖注入容器 | | Allure | 2.18+ | 测试报告 | | Jackson | 2.13+ | JSON处理 | | Logback | 1.2+ | 日志框架 | ## 🚀 快速开始 ### 环境要求 - JDK 11 或更高版本 - Maven 3.8 或更高版本 - Git ### 1. 克隆项目 ```bash git clone https://gitee.com/your-username/api-testing-framework.git cd api-testing-framework ``` ### 2. 安装依赖 ```bash mvn clean install ``` ### 3. 运行示例测试 ```bash # 运行所有测试 mvn test # 运行特定测试类 mvn test -Dtest=CompleteUserApiTestExample # 运行特定测试方法 mvn test -Dtest=CompleteUserApiTestExample#testGetAllUsers_BasicFunctionality ``` ### 4. 生成测试报告 ```bash # 生成Allure报告 mvn allure:serve ``` ### 5. 创建新的API测试 ```bash # 使用自动化脚本创建新测试 cd src/test/java/com/sara/dummyjson/examples/ ./create-new-test.sh Order com.sara.dummyjson.tests ``` ## 📖 文档指南 ### 核心文档 - [使用指南](src/test/java/com/sara/dummyjson/examples/USAGE_GUIDE.md) - 详细的使用说明 - [示例索引](src/test/java/com/sara/dummyjson/examples/EXAMPLES_INDEX.md) - 所有示例的导航 - [最佳实践](src/test/java/com/sara/dummyjson/examples/TESTING_BEST_PRACTICES.md) - API测试最佳实践指南 ### 示例代码 - [完整用户API测试示例](src/test/java/com/sara/dummyjson/examples/complete/CompleteUserApiTestExample.java) - [完整产品API测试示例](src/test/java/com/sara/dummyjson/examples/complete/CompleteProductApiTestExample.java) - [集成测试示例](src/test/java/com/sara/dummyjson/examples/complete/IntegratedExampleTest.java) - [高级测试技术示例](src/test/java/com/sara/dummyjson/examples/complete/AdvancedApiTestingExample.java) ### 模板文件 - [API测试模板](src/test/java/com/sara/dummyjson/examples/templates/NewApiTestTemplate.java) - [API客户端模板](src/test/java/com/sara/dummyjson/examples/templates/NewApiClientTemplate.java) - [请求模型模板](src/test/java/com/sara/dummyjson/examples/templates/RequestModelTemplate.java) - [响应模型模板](src/test/java/com/sara/dummyjson/examples/templates/ResponseModelTemplate.java) - [自定义验证器模板](src/test/java/com/sara/dummyjson/examples/templates/CustomValidatorTemplate.java) ## 🏗️ 项目结构 ``` api-testing-framework/ ├── src/ │ ├── main/java/com/sara/dummyjson/ # 主要源码 │ │ ├── client/ # API客户端 │ │ ├── config/ # 配置类 │ │ ├── model/ # 数据模型 │ │ ├── utils/ # 工具类 │ │ └── validator/ # 验证器 │ └── test/java/com/sara/dummyjson/ # 测试代码 │ ├── data/ # 测试数据管理 │ ├── examples/ # 示例和模板 │ │ ├── complete/ # 完整示例 │ │ ├── custom/ # 自定义扩展示例 │ │ └── templates/ # 代码模板 │ ├── tests/ # 测试类 │ └── utils/ # 测试工具 ├── src/test/resources/ # 测试资源 │ ├── testdata/ # 测试数据文件 │ └── config/ # 配置文件 ├── docs/ # 项目文档 ├── .gitignore # Git忽略文件 ├── pom.xml # Maven配置 └── README.md # 项目说明 ``` ## 🔧 配置说明 ### 环境配置 项目支持多环境配置,可以通过以下方式切换环境: ```bash # 开发环境 (默认) mvn test -Dspring.profiles.active=dev # 测试环境 mvn test -Dspring.profiles.active=test # 生产环境 mvn test -Dspring.profiles.active=prod ``` ### 自定义配置 在 `src/test/resources/application-{profile}.properties` 中配置环境特定的参数: ```properties # API基础URL api.base.url=https://dummyjson.com api.timeout=30000 # 测试配置 test.parallel.enabled=true test.thread.count=3 test.retry.count=2 ``` ## 📊 测试报告 框架集成了Allure测试报告,提供丰富的测试结果展示: - 测试执行概览和统计 - 详细的测试步骤和日志 - 请求响应数据展示 - 性能指标和趋势分析 - 失败测试的详细信息 查看报告: ```bash mvn allure:serve ``` ## 🤝 贡献指南 欢迎贡献代码和改进建议! ### 贡献流程 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ### 代码规范 - 遵循Java代码规范 - 添加适当的注释和文档 - 编写单元测试 - 确保所有测试通过 ## 📝 更新日志 ### v1.0.0 (2024-01-15) - 初始版本发布 - 完整的API测试框架实现 - 丰富的示例和模板 - 详细的文档和最佳实践指南 ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🙋‍♂️ 支持和反馈 如果你在使用过程中遇到问题或有改进建议,请: 1. 查看 [常见问题](docs/FAQ.md) 2. 搜索已有的 [Issues](https://gitee.com/your-username/api-testing-framework/issues) 3. 创建新的 Issue 描述问题 4. 联系维护者 ## 🌟 致谢 感谢以下开源项目的支持: - [RestAssured](https://rest-assured.io/) - 强大的REST API测试库 - [TestNG](https://testng.org/) - 灵活的测试框架 - [Allure](https://docs.qameta.io/allure/) - 美观的测试报告 - [Spring Boot](https://spring.io/projects/spring-boot) - 优秀的Java框架 - [DummyJSON](https://dummyjson.com/) - 提供测试API服务 --- ⭐ 如果这个项目对你有帮助,请给个Star支持一下!