paper-burner/tests/phase2-test-guide.md

170 lines
4.5 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.

# Phase 2 批注缓存测试指南
## 📍 测试位置
### 1. 打开历史详情页
```
应用首页 → 历史记录 → 点击任意一条记录
```
应该看到类似这样的页面:
```
┌─────────────────────────────────────────┐
│ [仅OCR] [仅翻译] [分块对比] [PDF对照] │ ← 标签栏
├─────────────────────────────────────────┤
│ │
│ 这是文档的内容... │
│ Lorem ipsum dolor sit amet... │ ← 文本内容
│ 这里有很多段落... │
│ │
│ Each paragraph is divided into │
│ sub-blocks for annotation... │ ← 每个句子是一个 sub-block
│ │
└─────────────────────────────────────────┘
```
### 2. 右键点击文本
**在内容区域的任意文本上右键点击**
例如:
- 右键点击 "这是文档的内容"
- 右键点击 "Lorem ipsum dolor"
- 右键点击任何一个句子或段落
### 3. 应该看到的菜单
正常情况下会弹出**批注菜单**,类似:
```
┌──────────────────────┐
│ ✏️ 添加批注 │
│ 🎨 高亮显示 │
│ 📋 复制文本 │
│ ... │
└──────────────────────┘
```
## ⏱️ 性能测试重点
### 优化前:
- 右键点击后 → **等待 200-300ms** → 菜单弹出
- 大文档1000+ 句子)延迟更明显
### 优化后:
- 右键点击后 → **立即弹出**< 10ms
- 无论文档多大延迟都很小
## 🧪 测试步骤
### 步骤 1: 检查缓存状态
在控制台运行
```javascript
console.log('AnnotationDOMCache:', window.AnnotationDOMCache);
console.log('已初始化?', window.AnnotationDOMCache?.initialized);
console.log('缓存数量:', window.AnnotationDOMCache?.subBlocks?.length);
```
### 步骤 2: 右键测试
1. 在文本内容上**右键点击**
2. 观察菜单弹出速度
3. 观察控制台日志
**预期日志**优化生效
```
[跨子块检测] 开始检测跨子块选择...
[跨子块检测] 页面上的子块总数: 1247
```
- 没有延迟
- 没有警告
**失败标志**优化未生效
```
[AnnotationCache] 缓存未初始化,执行动态查询 ❌
```
- 明显延迟
- 看到警告
### 步骤 3: 性能对比(可选)
**测量右键延迟**
在控制台运行
```javascript
// 准备计时
document.addEventListener('contextmenu', function measureTime() {
console.time('⏱️ 右键菜单响应时间');
setTimeout(() => {
console.timeEnd('⏱️ 右键菜单响应时间');
}, 100);
// 只测一次
document.removeEventListener('contextmenu', measureTime);
}, { once: true });
console.log('✅ 已准备好测量。现在右键点击任意文本...');
```
然后右键点击文本
**预期输出**
```
⏱️ 右键菜单响应时间: 2.5ms ✅ 优化生效
```
**失败输出**
```
⏱️ 右键菜单响应时间: 285.3ms ❌ 优化未生效
```
## 🔍 如果没有批注菜单怎么办?
### 情况 1: 看到浏览器默认的右键菜单
可能原因
- 页面还没加载完成
- 批注功能没有启用
- 右键点击的位置不对点到了空白处
**解决方法**
- 等待页面完全加载
- 确保点击的是**文本内容**不是空白区域
- 先选中一段文本再右键点击
### 情况 2: 菜单没有弹出
**检查**
```javascript
// 检查批注功能是否加载
console.log('annotation_logic.js 加载?', typeof annotationContextMenuElement !== 'undefined');
```
## 📝 测试清单
```
测试环境: _______________
测试日期: _______________
[ ] 1. 打开历史详情页
[ ] 2. 等待内容完全加载
[ ] 3. 控制台检查缓存状态
- AnnotationDOMCache 存在? [ ]
- 已初始化? [ ]
- 缓存数量 > 0? [ ]
[ ] 4. 右键点击文本
[ ] 5. 菜单立即弹出(无延迟)
[ ] 6. 控制台没有"缓存未初始化"警告
测试结果:
- [ ] ✅ 所有检查通过,优化生效
- [ ] ⚠️ 部分检查失败
- [ ] ❌ 优化未生效
备注: _______________
```