# BUG报告

## 基本信息
- **ID**: BUG-20260219-006
- **标题**: 材料列表页面元素选择器与E2E测试不匹配
- **严重程度**: P2
- **项目**: PM-Agent
- **模块**: 前端-材料列表
- **创建时间**: 2026-02-19

---

## 问题描述

E2E测试用例TC-F002-01（文件类型自动检测）、TC-F012-02/03/04/06/07/08（处理结果显示相关）、BUG-20260219-003（详情页转写内容）失败，原因是元素选择器与实际DOM不匹配。

---

## 失败的测试用例

| 测试用例 | 失败原因 |
|----------|----------|
| TC-F002-01 | `getByText('图片')` 未找到 |
| TC-F012-02 | `getByText('[BUG]')` 未找到 |
| TC-F012-03 | `getByText('项目')` 未找到 |
| TC-F012-04 | `getByText(/BUG-\d+/)` 未找到 |
| TC-F012-06 | `.content-preview` 选择器不存在 |
| TC-F012-07 | 查看按钮选择器错误 |
| TC-F012-08 | 原始材料卡片不存在 |
| BUG-20260219-003 | 详情页元素选择器错误 |

---

## 根因分析

1. **页面数据为空**：材料列表为空，测试无法验证元素存在性
2. **CSS类名不匹配**：实际类名可能为`.material-card`而非`.material-item`
3. **文本格式差异**：期望`[BUG]`格式，实际可能为`BUG`或`缺陷`
4. **按钮文本差异**：期望"查看"，实际可能为"详情"或图标按钮

---

## 修复方案

### 方案A：准备测试数据
在测试前创建测试材料数据，确保页面有内容可供验证

### 方案B：调整选择器适配实际DOM
根据实际DOM结构调整选择器：
```typescript
// 当前失败的选择器
page.locator('.material-item')
page.getByText('[BUG]')

// 应改为
page.locator('.material-card, .nc-card')
page.getByText('BUG', { exact: false })
```

### 方案C：改进前端显示
确保材料列表显示完整的必要信息：
- 文件类型标签（图片/音频/文档）
- 问题类型标签（BUG/需求）
- 项目名称
- 反馈编号（BUG-XXX/REQ-XXX）
- 转写内容预览

---

## 验收标准

- [ ] 材料列表页面有测试数据可供验证
- [ ] 文件类型正确显示（图片/音频/文档标签）
- [ ] 问题类型正确显示（BUG/需求标签）
- [ ] 项目名称显示
- [ ] 反馈编号显示（BUG-XXX/REQ-XXX格式）
- [ ] 转写内容预览显示
- [ ] 材料详情页显示完整转写内容

---

## 相关测试用例

- TC-F002-01: 文件类型自动检测
- TC-F005-01: 路由目标显示
- TC-F005-02: 路由历史记录
- TC-F012-02: 问题类型标签显示
- TC-F012-03: 项目名称显示
- TC-F012-04: 反馈编号显示
- TC-F012-06: 转写内容预览显示
- TC-F012-07: 点击查看详情
- TC-F012-08: 详情页显示完整转写
- BUG-20260219-003: 材料详情页不显示转写内容

---

*由PM-Agent测试生成*
