实现功能
测试数据隔离, 实现数据驱动
支持多接口数据依赖: 如A接口需要同时依赖B、C接口的响应数据作为参数
数据库断言: 直接在测试用例中写入查询的sql即可断言,无需编写代码
动态多断言: 如接口需要同事校验响应数据和sql校验,支持多场景断言
自动生成用例代码: 测试人员在yaml文件中填写好测试用例, 程序可以直接生成用例代码,纯小白也能使用
代理录制: 支持代理录制,生成yaml格式的测试用例
统计接口的运行时长: 拓展功能,订制开关,可以决定是否需要使用
日志模块: 打印每个接口的日志信息,同样订制了开关,可以决定是否需要打印日志
钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知
自定义拓展字段: 如用例中需要生成的随机数据,可直接调用
多线程执行
├── Cache // 存放缓存文件 ├── config // 配置 │ ├── conf.yaml // 公共配置 │ ├── setting.py // 环境路径存放区域 ├── data // 测试用例数据 ├── Enums // 枚举层,用于存放项目中所需的枚举 ├── File // 上传文件接口所需的文件存放区域 ├── log // 日志层 ├── report // 测试报告层 ├── test_case // 测试用例代码 ├── utils // 工具类 │ └── assertUtils // 断言 │ └── assertUtils .py │ └── cacheUtils // 缓存处理模块 │ └── cacheControl.py │ └── redisControl.py │ └── logUtils // 日志处理模块 │ └── logControl.py │ └── logDecoratrol.py // 日志装饰器 │ └── runTimeDecoratrol.py // 统计用例执行时长装饰器 │ └── mysqlUtils // 数据库模块 │ └── get_sql_data.py │ └── mysqlControl.py │ └── noticUtils // 通知模块 │ └── dingtalkControl.py // 钉钉通知 │ └── feishuControl.py // 飞书通知 │ └── sendmailControl.py // 邮箱通知 │ └── weChatSendControl.py // 企业微信通知 │ └── otherUtils // 其他工具类 │ └── allureDate // allure封装 │ └── allure_report_data.py // allure报告数据清洗 │ └── allure_tools..py // allure 方法封装 │ └── localIpControl.py // 获取本地IP │ └── threadControl.py // 定时器类 │ └── readFilesUtils // 文件操作 │ └── caseAutomaticControl.py // 自动生成测试代码 │ └── clean_files.py // 清理文件 │ └── excelControl.py // 读写excel │ └── get_all_files_path.py // 获取所有文件路径 │ └── get_yaml_data_analysis.py // yaml用例数据清洗 │ └── regularControl.py // 正则 │ └── yamlControl.py // yaml文件读写 │ └── recordingUtils // 代理录制 │ └── mitmproxyContorl..py │ └── requestsUtils │ └── dependentCase.py // 数据依赖处理 │ └── requestControl..py // 请求封装 │ └── timeUtils ├── Read