guzhi/.trae/documents/接口测试脚本(用户端 + 后台)实施计划.md
邹方成 cc352d3184 feat: 重构后端服务并添加新功能
refactor: 优化API路由和响应模型
feat(admin): 添加App用户管理接口
feat(sms): 实现阿里云短信服务集成
feat(email): 添加SMTP邮件发送功能
feat(upload): 支持文件上传接口
feat(rate-limiter): 实现手机号限流器
fix: 修复计算步骤入库问题
docs: 更新API文档和测试计划
chore: 更新依赖和配置
2025-11-19 19:36:03 +08:00

41 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 目标
- 编写一个一次性可运行的接口测试脚本,按照总览文档顺序执行:
1) App 用户注册 → 登录 → 用户相关接口
2) 提交估值(用户端)并轮询结果(列表/详情)
3) 管理端登录admin→ 查看估值数据(列表/详情)
- 输出结构化结果与关键字段校验,便于快速人工检查。
## 脚本位置与运行
- 路径:`scripts/api_smoke_test.py`
- 运行:`python scripts/api_smoke_test.py --base http://127.0.0.1:9991/api/v1`
- 基础:默认使用 `http://127.0.0.1:9991/api/v1`(根据 `run.py`),可通过参数覆盖。
## 步骤与端点
1. App 用户注册与登录
- POST `/app-user/register`(若手机号已存在则跳过)
- POST `/app-user/login` → 获取 `access_token`
- GET `/app-user/profile`、GET `/app-user/dashboard`、GET `/app-user/quota`
2. 用户端估值
- POST `/app-valuations/`(使用总览文档示例数据,最小必要字段)
- 轮询 GET `/app-valuations/`(分页)查看是否新增记录,捕获 `id`
- GET `/app-valuations/{id}` 详情
3. 管理端数据查看
- POST `/base/access_token`admin/123456获取后端 `token`
- GET `/valuations` 列表(后台视角)
- GET `/valuations/{id}` 详情(与用户端一致性对比)
## 输出与校验
- 每步打印:请求路径、状态码、关键字段(如 `access_token``user_id``latest_valuation``final_value_ab`
- 断言:登录成功、列表包含新记录、详情字段存在。
- 错误处理:捕获非 200 情况并打印 `code/msg`
## 技术细节
- 使用 `requests``Session` 维护 `token`;用户端与后台端各独立 `Session`
- 函数化:为每个步骤提供函数与函数级注释(描述、参数、返回值)。
- 兼容:对注册接口“手机号已存在”返回情况做兼容(脚本继续执行)。
## 交付
- 创建 `scripts/api_smoke_test.py` 并填充完整逻辑;默认数据内置,必要处留参数。
- 如你需要,我可在脚本创建后直接运行,输出结果供你检查。