# Python + pytest + allure + log + yaml +飞书通知 + gitlab 实现的CICD 接口自动化框架 **Repository Path**: guolinli/pytest_api ## Basic Information - **Project Name**: Python + pytest + allure + log + yaml +飞书通知 + gitlab 实现的CICD 接口自动化框架 - **Description**: 本框架主要是基于 Python + pytest + allure + log + yaml +飞书通知 + Jenkins 实现的接口自动化框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2023-01-31 - **Last Updated**: 2025-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ** 注:此框架无法直接运行,参数和主要数据都已删除** 本框架主要是基于 Python + pytest + allure + log + yaml +飞书通知 + Jenkins 实现的接口自动化框架。 一、实现功能 测试数据隔离, 实现数据驱动 。重要敏感的参数数据存储在系统变量里(如:域名,账号等), 可根据自动化巡检的入参来获取系统变量里面的参数数据去运行用例,yaml管理接口数据,可选择是否跳过用例,然后运行testcaseAutomaticControl.py 自动将yaml接口数据生成接口用例,运行用例后将结果自动发送飞书通知和邮箱通知。定制日志模块开关: 可选择是否打印每个接口的日志信息。 二、飞书通知: ![输入图片说明](files/%E9%80%9A%E7%9F%A5.png) 三、目录结果: - ├── cache // 缓存数据 - ├── config // 配置 - │ ├── conf.yaml // 公共配置 - │ ├── setting.py // 文件目录存放区域 - │ ├── configs.py // 根据入参获取系统变量 - ├── data // 测试用例数据 - ├── images // 测试用例中的多媒体数据(如:图片) - ├── lib // 对象层,用作于接口的调用 (已弃用) - ├── log // 日志层 - ├── report // 测试报告层 - ├── test_case // 测试用例代码 - ├── tool // 所有公共模块的封装 - │ └── allure_attchement_type_enum.py.py // allure报告的文件类型枚举 - │ └── allureControl.py // 操作allure报告封装 - │ └── allure_report_control.py // allure报告数据清洗 - │ └── assertControl.py // 断言模块 - │ └── cacheControl.py // 缓存模块 - │ └── case_automatic_control.py // 自动生成测试代码 - │ └── exceltoyaml_control.py // yml转excel(已弃用) - │ └── feishu_control.py // 飞书发送通知 - │ └── excelControl.py // 读取excel文件 - │ └── gettimeControl.py // 时间模块 - │ └── logControl.py // 日志模块 - │ └── logDecorator.py // 日志装饰器 - │ └── mysqlControl.py // 数据库模块 - │ └── regularControl.py // 正则模块 - │ └── requestControl.py // 请求模块 - │ └── runtimeControl.py // 响应时长统计模块 - │ └── officemail_control.py // 发送邮件 - │ └── jsonpath.py // jsonpat模块 - │ └── jsonpath_date_replace.py // jsonpath数据h取值 - │ └── sendmailControl.py // 发送邮件 - │ └── dependentCase.py // 数据依赖前置处理 - │ └── get_all_files_path.py // 获取目录路径 - │ └── teardown_control.py // 处理yaml格式后置请求 - │ └── yamlControl.py // yaml文件维护用例 - │ └── yaml_data_analysis.py // 数据清洗之后,返回该 yaml 文件中的所有用例 - ├── Readme.md // help - ├── .gitlab-ci.yml //cicd 自动化部署工具的运行机制 - ├── pytest.ini - ├── run.py // 运行入口