# ApiProjects **Repository Path**: DerrickChen/api-projects ## Basic Information - **Project Name**: ApiProjects - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-13 - **Last Updated**: 2024-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业微信接口自动化 ## 一、GitHub链接 项目网址链接:https://gitee.com/DerrickChen/WeComApiPro.git ## 二、Api AutoTesting Framework 结构图 封装的底层框架用到Java+RestAssured+Har+Junit5+Log4j+Allure,支持HarToCase,即API Copy all as Har生成har配置文件,根据配置文件自动转化成测试用例配置文件,根据配置文件【包括业务和用例】自动解析、生成并执行测试用例,且用例实现参数化。在框架封装基础之上,仅关注业务开发。
- main - java - actions - **ApiActionModel**:封装API Action对象类 - api - **ApiObjectModel**:封装API对象类 - global - **ApiLoader**:封装API对象加载器对象类 - **GlobalVariables**:封装API执行结果全局变量存储对象类 - steps - **AssertModel**:封装测试用例断言对象类 - **CaseDataModel**:封装测试用例参数化数据对象类 - **StepModel**:封装测试用例执行步骤对象类 - **StepResult**:封装测试用例执行结果对象类 - testcase - **ApiTestCaseModel**:封装测试用例对象类 - util - **FakerUtils**:封装数据伪造工具类 - **PlaceholderUtils**:封装配置文件或模板中的占位符替换工具类 - resources - **log4j2.xml**:log4j2的配置文件、控制台输出和文件滚动输出 - test - java - business - **CeshirenTest**:项目业务模块 - resources - api - **department.yaml**:项目业务模块API actions配置 - casedata - **WeComTestData.yaml****:项目业务模块用例参数化数据 - har - **departmentHar.yaml****:项目业务用例Har配置 - schema - **createDepartment.json****:项目业务用例断言配置,支持接口所有字段断言设置 - testcase - **createDepartment.yaml**:项目业务测试用例Api配置 - **pom.xml**:Maven配置文件 ## 三、企业微信项目开发示例 1、项目需求描述 针对企业微信通讯录模块完成部门CRUD接口测试 2、具体实现 (1)设计通讯录模块接口测试类,实现通讯录模块初始化、加载模块配置文件进行用例自动解析、生成并参数化形式执行、最后统一断言【src/test/java/com/wechat/business/WeComTest.java】 (2)设计通讯录模块接口配置【src/test/resources/api/createDepartment.yaml】 (3)设计通讯录模块接口配置,完成用例步骤设计【src/test/resources/testcase/createDeparment.yaml】 (4)设计通讯录模块接口断言配置【src/test/resources/schema/createDepartment.json】 (5)设计通讯录模块接口用例参数化配置【src/test/resources/casedata/WeComTestData.yaml】 (6)执行命令,生成报告【 #mvn clean test -Dtest=WeComTest】