# E2E测试报告 - 会议出勤

> **报告ID**: `meeting-attendance-2026-01-22-225522`  
> **生成时间**: 2026-01-22 22:55:22  
> **报告类型**: E2E测试报告

---

## ✅ 机器读取区（必填）

### 执行摘要

| 字段 | 内容 |
|------|------|
| 报告ID | `meeting-attendance-2026-01-22-225522` |
| 环境 | development |
| 分支 | `develop` |
| 通过率 | 100% |
| 失败用例 | 0 |

---

## 🧭 人类阅读区（可选）

### 执行上下文

| 项目 | 信息 |
|------|------|
| 执行时间 | 2026-01-22 22:55:22 |
| Git Commit | 未记录 |
| 浏览器 | chromium |
| 执行器 | AI Agent + Playwright MCP |
| 入口 | `http://localhost:3000/meetingattendance/meetings` |
| storageState | `testing/.auth/admin.json` |
| 后端基址 | `http://localhost:3001/api/v1` |

### 测试范围与数据准备

- 会议数据：创建 `E2E 冒烟会议`（id: `cmkqix9z50000jxfyq7eh0eez`，2026-01-22 23:00 - 23:30，America/Los_Angeles）。
- 参会人：添加 `itadmin@ff.com` 为 Optional attendee；添加访客 `Guest One (guest1@example.com)` 为 Optional attendee。
- 会议出勤用户：创建 `meetingAttendanceUser`（email: `itadmin@ff.com`，role: `ADMIN`）。

### 用例明细

1) 1.1.1 会议列表可访问并加载
- 入口：`/meetingattendance/meetings`
- 使用 API： [001]
- 断言：页面标题可见；列表出现 `E2E 冒烟会议`
- 结果：通过
- 截图：`testing/reports/meeting-attendance-2026-01-22-e2e/1.1.1-meetings-list-success.png`

2) 1.2.1 会议详情可访问并展示二维码
- 入口：`/meetingattendance/meetings/{id}` → `.../qr`
- 使用 API： [003], [006]
- 断言：详情页主区域可见；二维码页在线/线下二维码可见
- 结果：通过
- 截图：
  - `testing/reports/meeting-attendance-2026-01-22-e2e/1.1.1-meetings-detail-success.png`
  - `testing/reports/meeting-attendance-2026-01-22-e2e/1.2.1-qr-codes-success.png`

3) 1.3.1 访客签到可提交并成功提示
- 入口：`/meetingattendance/checkin/guest?meeting={id}&type=on_site`
- 使用 API： [014]
- 断言：访客签到表单可见；提交后出现成功提示
- 结果：通过
- 截图：`testing/reports/meeting-attendance-2026-01-22-e2e/1.3.1-guest-checkin-success.png`

4) 1.4.1 报表页可访问并加载统计
- 入口：`/meetingattendance/reports?meetingId={id}`
- 使用 API： [046]
- 断言：报表页标题可见；统计卡片有值
- 结果：通过
- 截图：`testing/reports/meeting-attendance-2026-01-22-e2e/1.4.1-reports-success.png`

5) 2.1.1 二维码链接可打开访客签到页（抽测 3 条）
- 入口：`/meetingattendance/checkin/guest?meeting={id}&type=online`
- 使用 API：未提交表单（页面可访问性验证）
- 断言：页面标题“Online Meeting Check-in”可见；会议标题可见；“Personal Information”表单可见；“Check-in not yet available”状态提示可见
- 结果：通过
- 抽测会议：
  - `cmkcxss2v03ndvf0xbozwsoij`（AI-Robotics EC Meeting - Session 51）
  - `cmhhz1n490086y6ov44l03hgo`（FFAI EC Meeting - Session 61）
  - `cmhc9sfgs03g1y6pnr7hd5uth`（FX EC Meeting - Session 61）
- 截图：
  - `testing/reports/meeting-attendance-2026-01-22-e2e/QR-01-page-success.png`
  - `testing/reports/meeting-attendance-2026-01-22-e2e/QR-02-page-success.png`
  - `testing/reports/meeting-attendance-2026-01-22-e2e/QR-03-page-success.png`

### 补充验证记录（二维码可用性抽测）

| 项目 | 信息 |
|------|------|
| 执行时间 | 2026-01-23 |
| 浏览器 | chromium |
| 执行器 | AI Agent + Playwright MCP |
| 入口 | `http://localhost:3000/meetingattendance/checkin/guest?meeting={id}&type=online` |
| storageState | 不需要（访客签到页为公开入口） |

### 资产与记录

- 截图目录：`testing/reports/meeting-attendance-2026-01-22-e2e/`

### 偏离/阻断说明

- 无阻断项。

### 契约一致性

- PRD/架构要求保留“访客免登录签到”，当前二维码链接可正常进入访客签到页，参数使用 `meeting` + `type` 与后端生成逻辑一致。
