# 知识库模块 E2E 测试报告

- 模块: knowledge-base
- 日期: 2026-02-10
- 测试类型: E2E
- 环境: 本地开发（http://localhost:3000）
- 浏览器: Playwright MCP（Chromium）
- 执行人: Codex
- 执行时间: 2026-02-10
- 执行命令: N/A（MCP 手动执行）
- storageState: 未使用（沿用已登录态）

## 测试范围
- 同步任务列表页（新增 Tokens/Chunks 列）
- 同步任务详情页（新增 Tokens/Chunks 卡片）
- 已处理明细页（新增 Tokens/Chunks 列）
- 同步任务列表页（新增“处理中”列）
- 同步任务详情页（新增“处理中”卡片与明细入口）
- 同步任务处理中明细页（新增页面）

## 用例明细

### E2E-00 同步任务列表页展示 Tokens/Chunks
- 前置条件: 已登录；存在至少一条同步任务
- 页面/接口: `/knowledge-base/sync-tasks`
- 步骤:
  1. 进入同步任务列表页
  2. 观察表格列与首行数据
- 断言:
  - 到达断言: 页面标题“Sync history”可见
  - 成功/稳定断言: 表格包含列“Tokens”“Chunks”，首行数据展示非空数值
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/E2E-00-sync-task-list-success.png`

### E2E-01 同步任务详情页展示 Tokens/Chunks
- 前置条件: 已登录；存在任务 ID `7892b72d-1e3f-404e-b2b9-b2d5aacf9bb8`
- 页面/接口: `/knowledge-base/sync-tasks/{taskId}`
- 步骤:
  1. 从列表点击“View details”进入任务详情
  2. 查看“Tokens processed / Chunks processed”卡片
- 断言:
  - 到达断言: 页面标题“Sync task details”可见
  - 成功/稳定断言: 显示 Tokens=45、Chunks=3
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/E2E-01-sync-task-detail-success.png`

### E2E-02 已处理明细页展示 Tokens/Chunks
- 前置条件: 已登录；任务有已处理明细
- 页面/接口: `/knowledge-base/sync-tasks/{taskId}/processed`
- 步骤:
  1. 在任务详情页点击“View processed items”
  2. 查看已处理明细表格
- 断言:
  - 到达断言: 页面标题“Processed items”可见
  - 成功/稳定断言: 表格包含 Tokens/Chunks 列；至少一行 Tokens/Chunks 为非零
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/E2E-02-sync-task-processed-success.png`

### E2E-03 同步任务列表页展示“处理中”列
- 前置条件: 已登录
- 页面/接口: `/knowledge-base/sync-tasks`
- 步骤:
  1. 进入同步任务列表页
  2. 观察表格列是否包含“Processing”
- 断言:
  - 到达断言: 页面标题“Sync history”可见
  - 成功/稳定断言: 表格包含“Processing”列
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/sync-tasks-list-processing.png`

### E2E-04 同步任务详情页展示“处理中”卡片
- 前置条件: 已登录；存在任务 ID `7892b72d-1e3f-404e-b2b9-b2d5aacf9bb8`
- 页面/接口: `/knowledge-base/sync-tasks/{taskId}`
- 步骤:
  1. 打开任务详情页
  2. 查看“Processing”统计卡片与按钮
- 断言:
  - 到达断言: 页面标题“Sync task details”可见
  - 成功/稳定断言: 展示“Processing”数量与“View processing items”按钮
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/sync-task-detail-processing.png`

### E2E-05 同步任务处理中明细页
- 前置条件: 已登录
- 页面/接口: `/knowledge-base/sync-tasks/{taskId}/processing`
- 步骤:
  1. 进入处理中明细页
  2. 查看表格或空状态
- 断言:
  - 到达断言: 页面标题“Processing items”可见
  - 成功/稳定断言: 展示空状态“No processing items”或表格列
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/sync-task-processing-empty.png`

### E2E-06 已处理明细展示文件大小列
- 前置条件: 已登录；存在任务 ID `c910a0ec-36ab-4c84-8bf9-41029b8abd28`
- 页面/接口: `/knowledge-base/sync-tasks/{taskId}/processed`
- 步骤:
  1. 从任务详情进入“Processed items”
  2. 观察表格列与首行数据
- 断言:
  - 到达断言: 页面标题“Processed items”可见
  - 成功/稳定断言: 表格包含列“Size”，与 Tokens/Chunks 相邻展示
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/sync-task-processed-size-column.png`

### E2E-07 已处理明细展示文件大小数值
- 前置条件: 已登录；触发新的全量同步，任务 ID `3597a796-b494-4e30-8a52-7746f67884b3`
- 页面/接口: `/knowledge-base/sync-tasks/{taskId}/processed`
- 步骤:
  1. 进入“Processed items”
  2. 观察 Size 列
- 断言:
  - 到达断言: 页面标题“Processed items”可见
  - 成功/稳定断言: Size 列出现可读大小（Bytes）
- 结果: 通过
- 证据: `testing/reports/knowledge-base-2026-02-10-e2e/sync-task-processed-size-values.png`

## Token 统计有效性校验
- 取样任务: `7892b72d-1e3f-404e-b2b9-b2d5aacf9bb8`
- 详情页统计: Tokens=45、Chunks=3
- 已处理明细前 3 行（文章）: Tokens=35/4/6，Chunks=1/1/1
- 结论: 45=35+4+6；3=1+1+1，样本统计一致，展示有效

## RAGFlow 后端校验（手动）
- 校验点: 检索接口可用（embedding v4 数据集可检索）
- 命令:
  - `curl -s -H "Authorization: Bearer <RAGFLOW_API_KEY>" -H "Content-Type: application/json" -X POST http://localhost:3098/api/v1/retrieval -d '{"question":"自动驾驶","dataset_ids":["651b4bdf010411f1a8786a454110bda0"],"similarity":0.1,"top_k":3}'`
- 结果: `code=0`，检索成功

## 覆盖度说明
- 覆盖页面: 同步任务列表 / 详情 / 已处理明细 / 处理中明细（4 个页面）
- 核心流程覆盖: 同步任务统计展示（Tokens/Chunks/Processing）
- 未覆盖: 失败/跳过明细页面新增字段（未增加新字段）

## 契约一致性
- 与 `docs/modules/knowledge-base/07-api.md` 中新增字段说明一致

## 失败与阻断
- 无
