Python+Ai结合落地实战接口自动化,让代码如此简单~开整
Python+AI落地实战接口自动化,让代码如此简单
·
Python+Ai结合落地实战接口自动化,让代码如此简单~开整
简介
这是一个基于Python的接口自动化测试框架,使用Requests进行接口请求,Pytest进行测试用例管理,Excel管理测试数据,Logging进行日志记录,并集成了钉钉通知、邮件通知、测试报告、禅道Bug问题同步等功能。
目录结构
Api_Auto/
├── config/ # 配置文件目录
│ └── config.ini # 全局配置文件 (包含环境、登录、钉钉、邮件、报告、禅道等配置)
├── data/ # 测试数据目录
│ └── *.xlsx # Excel测试用例数据
├── logs/ # 日志目录
├── docs/ # 文档目录
├── reports/ # 测试报告目录
├── test_cases/ # 测试用例代码目录
│ └── test_api.py # API测试用例
├── test_verifications/ # 测试前置验证
│ └── verify_login.py # 登录验证
├── scripts/ # 辅助脚本
│ ├── decode_urls.py # Excel URL 解码
│ └── verify_log_cleanup.py # 日志清理验证
├── utils/ # 工具类目录
│ ├── config_utils.py # 配置读取工具
│ ├── excel_utils.py # Excel读取工具
│ ├── logger_utils.py # 日志工具
│ ├── login_utils.py # 登录逻辑封装
│ ├── notification_utils.py # 钉钉通知工具
│ ├── request_utils.py# 请求封装工具
│ ├── stats_utils.py # 统计工具
│ └── zentao_utils.py # 禅道集成工具
├── main.py # 框架执行入口
├── requirements.txt # 依赖包列表
└── README.md # 说明文档
环境准备
- 安装Python 3.10+
- 安装依赖包:
pip install -r requirements.txt
配置说明
在 config/config.ini 中进行配置:
环境配置
[env]
current = test # 当前环境: test/uat/prod
[test]
base_url = https://10.10.10.1:482/
[uat]
base_url = https://cmp.pre.cmp:8888/
[prod]
base_url = https://prod.example.com/
登录配置
[test_login]
url = https://10.10.10.1:482//api/authc/login...
username = your_username
password = your_password
[uat_login]
url = https://cmp.pre.cmp:8888/api/authc/login...
username = your_username
password = your_password
[prod_login]
url = https://prod.example.com/api/authc/login...
username = your_username
password = your_password
用例配置
[test_cases]
case_file = 数字湖南-接口测试用例.xlsx
sheet_names =
interval = 300
rerun_times = 1
retry_count = 5
钉钉通知
[dingtalk]
enabled = true
webhook_url = https://oapi.dingtalk.com/robot/send...
secret = SEC...
邮件通知
[email]
enabled = false
server = smtp.163.com
username = your_email@163.com
password = your_auth_code
receivers = receiver1@example.com, receiver2@example.com
禅道配置
[zentao]
enabled = true
url = http://zentao.example.com
username = your_user
password = your_pass
product_id = 1
assigned_to = admin
token =
日志清理
[logs]
enabled = true
clean_interval = 10
retention_days = 1
URL 自动解码
[url_decode]
enabled = false
interval_hours = 24
last_run_time =
报告开关
[report]
enabled = true
默认 Token(登录后会自动更新)
[default]
token = SESSION=xxxx
使用指南
更完整的接口操作手册见 docs/api_manual.md。以下为快速上手要点。
安装依赖
pip install -r requirements.txt
用例文件配置
在 config/config.ini 中配置用例文件与 Sheet:
[test_cases]
case_file = 数字湖南-接口测试用例.xlsx
sheet_names =
interval = 300
rerun_times = 1
retry_count = 5
Excel 用例字段说明(data 目录)
run:是否执行(Y执行,N跳过)group:分组/模块desc:用例描述method:请求方法(GET/POST/PUT/DELETE…)url:接口路径(相对路径会拼接base_url)methodParam:请求体(JSON 字符串)checkpoint:断言配置(JSON 字符串)save:变量提取配置(JSON 字符串)headers:自定义请求头(JSON 字符串)sleep:请求间隔(秒)
断言与变量提取示例
断言 checkpoint:
{
"checktype": "json",
"checkcontent": "$.code=0"
}
提取 save:
{
"extratortype": "jsonpath",
"elements": [
{
"expression": "$.data.id",
"varname": "unit_id"
}
]
}
变量引用({{变量名}}):
{
"tenantId": {{unit_id}},
"name": "测试项目"
}
注意事项
- 若用例描述包含“创建/新增/新建 + 单位/项目”,框架会自动为
name/tenantCode/itemNumber追加时间戳,避免重复。
运行流程说明
- 启动
main.py后会先执行登录验证(test_verifications/verify_login.py),登录失败将终止测试。 - 请求 401 时会自动触发重新登录,并按
test_cases.retry_count重试。 - 执行结束会生成统计摘要与成功/失败用例列表,并按配置发送钉钉/邮件。
- 生成 Allure 报告(需本地安装 Allure CLI 且在
config.ini中启用)。
进阶配置(可选)
多用例文件执行
支持用逗号分隔多个 Excel:case_file = A.xlsx,B.xlsx
日志清理
[logs]
enabled = true
clean_interval = 10
retention_days = 1
URL 自动解码(Excel 中 URL 编码自动转换)
[url_decode]
enabled = false
interval_hours = 24
last_run_time =
默认不自动执行,可配合脚本执行:python scripts/decode_urls.py
报告开关
[report]
enabled = true
运行测试
执行根目录下的 main.py 文件:
python main.py
功能特性
- Excel数据驱动:使用Excel管理测试用例,支持 run 字段控制执行。
- 多环境切换:支持 test/uat/prod 环境一键切换。
- 自动登录与401重试:登录失败直接终止,401 自动重新登录并按配置重试。
- 失败用例重跑:pytest
rerun_times自动重跑失败用例。 - 钉钉/邮件通知:测试结束发送汇总(成功/失败列表)。
- 禅道集成:支持 Bug 创建与缺陷统计日报发送。
- 日志记录与清理:详细日志输出,支持按天清理。
- 辅助工具:URL 解码脚本、多用例文件执行支持。
框架运行效果

更多推荐


所有评论(0)