# JapiAutoTest接口自动化测试框架 **Repository Path**: green-grass-plus/api-auto-test ## Basic Information - **Project Name**: JapiAutoTest接口自动化测试框架 - **Description**: 🎉SpringBoot+TestNg+Allure最好用的接口测试框架!最简单最方便的接口测试框架,吊打现在所有开源的任何一个接口自动化测试框架。让所有测试人员都能够实地落地使用接口自动化测试到自己的项目中!环境简单,不复杂,代码结构清晰,规范,测试用例好管理,可读性强! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2025-04-09 - **Last Updated**: 2025-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ApiAutoTest ## 介绍 SpringBoot+TestNg+Allure接口测试框架。这个框架,我从0到1开发,一直到企业落地。我考虑一段时间,这个框架要怎么做,才能简单好用,容易上手,而且还能符合实际测试中的业务情况。因我之前做过一个接口自动化测试工作,但是那个框架也是Java开发的,也是使用TestNg这个测试框架,但是使用这个框架是需要会一点Java开发才能使用,它的一些断言,数据库校验,测试用例都是写到代码里,测试用例有Excle,Json的各种乱七八糟的,而且框架的代码冗余度非常高,维护起来非常麻烦,而且有些测试人员也不一定会写代码,想到这里,我这个测试框架我就考虑到不会写代码的测试也能用它做接口自动化测试。吊打现在所有开源的任何一个接口自动化测试框架。 **(作者QQ:1601078502,备注来意)** ## 开发环境 我们开发环境并不复杂,因为我们想要所有的人都能运行成功项目,并且使用起来。我们环境就是Java8,安装一个Maven环境既可,就可以运行我们的项目,进行使用!我保证所有人都能用,都能把这个项目写到简历,完全可以从0到1搭建接口自动化,这个框架非常全面,简单好用,方便,不像有些开源,别人下载一个代码环境都要搞半天,代码都运行起来,这种假开源,而且运行起来还不一定适合自己的项目,我这个框架我保证百分百适用所有项目。一定能落地到项目中。 ### 环境配置 #### 1.如果我们的接口有多套环境,那么我们可以把不同的环境的配置再配置文件里面,通过指定配置文件来读取我们不同的环境配置。 比如 dev环境,uat环境等,可以把信息配置在配置文件中。 ### 请求头 我们的auth-token,cookie,这些接口请求携带的请求信息,都写到配置文件中。我们会从配置中读取。 ## 框架特点 ### 1. 灵活的测试用例管理 - 支持YAML格式定义测试用例,易于维护和扩展 - 支持单个或多个测试文件的执行 - 支持通配符模式匹配测试文件 - 分层管理测试套件和测试用例 ### 2. 高性能设计 - 并行测试执行能力 - 异步数据加载 - 多线程处理测试用例 - 智能线程池管理 ### 3. 强大的工具支持 - 数据库操作工具 - HTTP客户端工具 - 实时报告生成 - 文件处理工具 ### 4. 完善的报告系统 - 集成Allure报告框架 - 实时测试结果反馈 - 详细的测试执行记录 - 可视化测试报告 ### 5. 扩展性设计 - 模块化架构 - 接口化设计 - 易于集成新功能 - 支持自定义扩展 ## 使用指南 ### 1. 配置测试用例 在`src/main/resources/testcases`目录下创建YAML格式的测试用例文件: ```yaml name: "API测试套件" description: "测试API功能" testCases: - name: "测试用户API" description: "验证用户相关接口" request: url: "/api/users" method: "GET" expectedResponse: statusCode: 200 ``` ### 2. 运行测试 #### 2.1 通过testng.xml配置 ```xml ``` ### 截图含使用说明 ![输入图片说明](1.png) ![输入图片说明](2.png) ![输入图片说明](3.png) ![输入图片说明](4.png) ![输入图片说明](5.png) ![输入图片说明](6.png) ![输入图片说明](7.png) ![输入图片说明](98ad2889a8247c28e5e1686607f3bd0.png)