# 客达天下CRM系统 **Repository Path**: fhm_0611qqcom/CRM ## Basic Information - **Project Name**: 客达天下CRM系统 - **Description**: 1.B端CRM客户关系管理系统,核⼼功能涵盖销售线索、商机跟进及合同管理。 2.主导搭建基于 Python + Requests + Pytest 的数据驱动接⼝⾃动化框架,封装通⽤请求⼯具类(统⼀处理鉴权、⽇志、异常)并集成 Mock 服务隔离第三⽅依赖,实现核⼼业务接⼝ 100% ⾃动化覆盖,将回归测试周期由天级压缩⾄⼩时级,有效保障了敏捷模式下的⾼质量快速交付。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-08-05 - **Last Updated**: 2026-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **客达天下CRM接口自动化测试项目** ## 📋 项目简介 **项目背景**:本项目为B/S架构客达天下CRM客户关系管理系统,面向企业销售、运营人员,完整覆盖账号登录鉴权、销售线索录入分配、商机跟进流转、合同创建审批归档等核心业务场景,涉及客户数据流转、流程状态校验、权限隔离、第三方外部接口联动,对接口数据一致性、流程逻辑准确性、多角色权限校验要求严格。 本人独立主导整套接口自动化测试框架从零搭建,完成CRM全核心业务接口自动化脚本开发、数据驱动用例设计,集成Mock服务解除第三方接口依赖,接入CI流水线实现版本迭代自动回归,支撑敏捷开发模式高频迭代交付。 ## ✨ 技术栈 | 分类 | 技术/工具 | |:--- |:--- | | 编程语言 | Python3 | | 接口请求库 | Requests | | 测试框架 | Pytest | | 测试报告 | Allure | | 设计模式 | 数据驱动DDT + 分层封装思想 | | 版本管理 | Git / Gitee | | 持续集成 | Jenkins | | 接口模拟 | Mock服务 | | 缺陷管理 | Jira | | 数据存储 | JSON/Excel测试用例 | ## 🎯 主要工作与职责 1. **业务接口功能测试** - 梳理CRM销售全链路业务流程,拆解登录、线索、商机、合同多模块需求,梳理接口入参、出参、状态流转规则; - 手工执行接口功能测试、边界值测试、多角色权限测试、异常参数校验,核对数据库存储数据与接口返回一致性; - 跟进缺陷提交、复现、修复回归闭环,针对合同审批、商机状态变更等关键流程设计专项接口测试方案。 2. **接口自动化框架搭建与落地** - 基于`Python + Requests + Pytest`搭建分层式数据驱动接口自动化框架,完成全局工具、业务接口、测试用例分层解耦; - 封装通用HTTP请求工具类,统一实现Token鉴权自动携带、全局日志打印、请求异常捕获重试、响应结果统一解析; - 集成Mock服务,拦截系统调用的第三方外部接口,模拟各类成功/失败返回数据,彻底隔离外部依赖,保证自动化用例稳定执行; - 完成登录鉴权、线索管理、商机跟进、合同审批全部核心业务接口自动化脚本开发,**核心业务接口实现100%自动化覆盖**; - 对接Git+Jenkins搭建CI流水线,代码提交自动触发接口自动化回归,回归周期从天级缩短至小时级,大幅降低迭代重复测试成本,保障敏捷迭代交付质量。 ## 🧩 业务模块 1. **登录鉴权模块**:账号密码登录、Token生成与刷新、多角色权限校验、登录失效拦截 2. **销售线索模块**:线索新增、分配、编辑、回收、线索状态筛选、线索导出接口 3. **商机跟进模块**:商机创建、阶段流转、跟进记录新增、商机成交/废弃状态变更 4. **合同管理模块**:合同录入、审批流提交、驳回修改、合同归档、合同金额与回款校验 ## 🏗️ 项目核心框架介绍 > 框架:`python + requests + pytest + allure + mock + git + jenkins` 采用分层封装+数据驱动设计,工具层、接口层、用例层完全解耦,用例与测试数据分离,便于批量维护。 1. **common公共工具层** 封装全局通用能力:HTTP请求封装类、自动鉴权处理、日志工具、异常捕获、加密工具、数据库操作、Mock调用封装。 2. **api业务接口层** 按业务模块拆分接口类,每个模块独立封装接口请求方法: - 封装接口基础地址、请求方式、固定请求头 - 封装单接口调用、多接口串联业务流程方法 - 返回原始响应体,供测试用例做自定义断言 3. **cases测试用例层** 数据驱动自动化用例,基于pytest实现: - 读取JSON/Excel外部测试数据,实现一条接口多组参数复用 - 调用api层接口方法,对响应码、返回字段、业务状态、数据库数据进行多层断言 - 捕获执行失败自动记录日志、错误信息写入报告 - 结合conftest统一管理全局fixture:登录获取token、环境初始化、测试数据清理 4. **config配置层** 统一管理多环境地址、账号信息、数据库连接、Mock服务地址、日志级别等全局配置。 5. **其他目录与配置文件** - `data`:测试数据目录,存储各接口正向/反向/边界测试数据(json/excel) - `report`:Allure可视化测试报告输出目录 - `log`:自动化运行全量日志存储目录 - `mock`:Mock服务配置文件、第三方接口模拟返回模板 - `config.py`:多环境全局配置文件 - `conftest.py`:pytest夹具,全局前置后置、token全局复用fixture - `pytest.ini`:pytest运行参数、用例标签配置 - `Jenkinsfile`:Jenkins CI流水线执行脚本 ## 📁 完整项目目录结构 ``` CRMAutoTest/ ├── common/ # 公共工具层:请求封装、日志、鉴权、mock工具 │ ├── http_client.py # 通用请求工具类 │ ├── log_utils.py │ ├── mock_server.py │ └── db_utils.py ├── api/ # 业务接口分层封装 │ ├── login_api.py # 登录鉴权接口 │ ├── clue_api.py # 销售线索接口 │ ├── business_api.py # 商机跟进接口 │ └── contract_api.py # 合同管理接口 ├── cases/ # pytest自动化测试用例层 │ ├── test_login.py │ ├── test_clue.py │ ├── test_business.py │ └── test_contract.py ├── data/ # 数据驱动测试数据目录 │ ├── login_data.json │ ├── clue_data.json │ └── contract_data.json ├── mock/ # Mock服务配置与模拟返回模板 │ └── mock_response.yaml ├── config.py # 多环境全局配置文件 ├── conftest.py # pytest全局fixture,token复用、前后置 ├── pytest.ini # pytest运行配置 ├── log/ # 运行日志输出目录 ├── report/ # allure测试报告目录 ├── Jenkinsfile # Jenkins流水线配置文件 └── requirements.txt # 项目Python依赖 ``` ## 🚀 运行说明 ### 1. 安装项目依赖 ```bash pip install -r requirements.txt ``` ### 2. 执行接口自动化,生成Allure可视化报告 ```bash # 批量执行全部接口用例,生成allure原始数据 pytest cases/ -v --alluredir=report/allure_raw # 启动并打开可视化测试报告 allure serve report/allure_raw ``` ### 3. Jenkins + Gitee 持续集成流程 1. Jenkins拉取Gitee仓库最新代码; 2. 自动安装项目Python全部依赖包; 3. 启动本地Mock服务,隔离系统第三方外部接口; 4. 执行pytest自动化接口用例,生成Allure原始报告数据; 5. Jenkins页面展示完整Allure测试报告,支持代码提交自动触发、定时回归任务。 ## 💡 项目收获 1. 深入掌握B端CRM销售全链路业务逻辑,熟悉线索、商机、合同流转、多角色权限、审批流程等业务接口测试要点; 2. 独立完成完整数据驱动接口自动化框架分层搭建,熟练封装统一请求工具类,解决Token鉴权、异常捕获等通用问题; 3. 掌握Mock服务落地使用,通过模拟第三方接口返回消除外部依赖,提升自动化用例稳定性; 4. 熟练使用pytest夹具、数据驱动用例设计、Allure可视化测试报告输出; 5. 落地Git版本管理+Jenkins持续集成流水线,实现接口自动化常态化回归,大幅提升迭代测试效率; 6. 能够结合接口返回报文、数据库数据双重校验,快速定位前后端交互、业务流程类缺陷。 ```