## 目标 - 编写一个一次性可运行的接口测试脚本,按照总览文档顺序执行: 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` 并填充完整逻辑;默认数据内置,必要处留参数。 - 如你需要,我可在脚本创建后直接运行,输出结果供你检查。