镜像自地址
https://github.com/lhly/search-syntax-pro.git
已同步 2026-10-20 14:27:47 +08:00
- 新增全局快捷键支持(Ctrl+Shift+F/Command+Shift+F) - 添加快捷键命令类型定义(chrome-commands.d.ts) - 实现版本管理工具(version.ts) - 新增模板和快捷键相关类型定义 - 优化搜索表单组件支持外部控制高级选项 - 新增引擎选择器组件(EngineSelector) - 改进全局样式和按钮样式 - 在设置页面新增快捷键配置选项 - 添加测试页面和调试工具 - 更新文档包括发布说明和测试指南 本次提交包含多项功能新增和优化,主要围绕快捷键功能的实现和用户体验提升。
317 行
7.4 KiB
Markdown
317 行
7.4 KiB
Markdown
# 快捷键功能测试指南
|
|
|
|
## 测试环境准备
|
|
|
|
### 1. 加载扩展
|
|
```bash
|
|
# 1. 打开Chrome浏览器
|
|
# 2. 访问 chrome://extensions/
|
|
# 3. 启用"开发者模式"(右上角开关)
|
|
# 4. 点击"加载已解压的扩展程序"
|
|
# 5. 选择项目的 dist/ 目录
|
|
```
|
|
|
|
### 2. 检查扩展状态
|
|
- 扩展图标应显示在Chrome工具栏
|
|
- 扩展名称: SearchSyntax Pro
|
|
- 版本: 1.6.0
|
|
|
|
## 测试流程
|
|
|
|
### 阶段1: 全局快捷键测试
|
|
|
|
#### Test 1.1: Windows/Linux平台
|
|
**步骤**:
|
|
1. 在任意网页上
|
|
2. 按下 `Ctrl+Shift+F`
|
|
3. 观察popup是否打开
|
|
|
|
**预期结果**:
|
|
- ✅ popup立即打开
|
|
- ✅ 关键词输入框自动聚焦
|
|
- ✅ 无控制台错误
|
|
|
|
**常见问题**:
|
|
- 如果快捷键无响应,检查是否与其他扩展冲突
|
|
- 访问 chrome://extensions/shortcuts 查看快捷键是否正确注册
|
|
|
|
#### Test 1.2: macOS平台
|
|
**步骤**:
|
|
1. 在任意网页上
|
|
2. 按下 `Command+Shift+F`
|
|
3. 观察popup是否打开
|
|
|
|
**预期结果**: 同Test 1.1
|
|
|
|
#### Test 1.3: 快捷键冲突测试
|
|
**步骤**:
|
|
1. 访问 chrome://extensions/shortcuts
|
|
2. 查找"SearchSyntax Pro"
|
|
3. 验证快捷键显示为"Ctrl+Shift+F"或"Command+Shift+F"
|
|
4. 尝试修改为其他快捷键
|
|
5. 测试新快捷键是否生效
|
|
|
|
**预期结果**:
|
|
- ✅ 快捷键可以自定义
|
|
- ✅ 自定义后的快捷键能正常工作
|
|
|
|
### 阶段2: Popup内快捷键测试
|
|
|
|
#### Test 2.1: 搜索执行快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 输入关键词"测试"
|
|
3. 按下 `Ctrl+Enter`
|
|
|
|
**预期结果**:
|
|
- ✅ 立即执行搜索
|
|
- ✅ 在新标签页打开搜索结果
|
|
- ✅ popup自动关闭
|
|
|
|
#### Test 2.2: 模板选择器快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 按下 `Ctrl+Shift+T`
|
|
|
|
**预期结果**:
|
|
- ✅ 模板选择器模态窗口打开
|
|
- ✅ 显示可用模板列表
|
|
|
|
#### Test 2.3: 历史记录快捷键
|
|
**步骤**:
|
|
1. 执行至少一次搜索(生成历史记录)
|
|
2. 重新打开popup
|
|
3. 按下 `Ctrl+Shift+H`
|
|
|
|
**预期结果**:
|
|
- ✅ 历史记录面板自动滚动到视图内
|
|
- ✅ 显示之前的搜索记录
|
|
|
|
#### Test 2.4: 复制查询快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 输入关键词"测试"
|
|
3. 选择搜索引擎
|
|
4. 按下 `Ctrl+Shift+C`
|
|
5. 打开文本编辑器
|
|
6. 粘贴 `Ctrl+V`
|
|
|
|
**预期结果**:
|
|
- ✅ 生成的查询已复制到剪贴板
|
|
- ✅ 显示"已复制"提示
|
|
|
|
#### Test 2.5: 高级选项切换快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 按下 `Ctrl+Shift+A`
|
|
3. 再次按下 `Ctrl+Shift+A`
|
|
|
|
**预期结果**:
|
|
- ✅ 首次按下展开高级选项面板
|
|
- ✅ 再次按下折叠高级选项面板
|
|
|
|
#### Test 2.6: 关键词聚焦快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 点击其他输入框(如site输入框)
|
|
3. 按下 `Ctrl+K`
|
|
|
|
**预期结果**:
|
|
- ✅ 光标跳转到关键词输入框
|
|
|
|
#### Test 2.7: 清空表单快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 填写多个字段(keyword, site, fileType)
|
|
3. 按下 `Ctrl+L`
|
|
|
|
**预期结果**:
|
|
- ✅ 所有输入字段被清空
|
|
- ✅ 搜索引擎保持默认值
|
|
|
|
#### Test 2.8: 关闭popup快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 按下 `Escape`
|
|
|
|
**预期结果**:
|
|
- ✅ popup立即关闭
|
|
|
|
#### Test 2.9: 输入框导航快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 按下 `Tab` 多次
|
|
3. 按下 `Shift+Tab` 多次
|
|
|
|
**预期结果**:
|
|
- ✅ Tab按顺序聚焦到下一个输入框
|
|
- ✅ Shift+Tab按逆序聚焦到上一个输入框
|
|
- ✅ 聚焦循环(到最后一个后返回第一个)
|
|
|
|
#### Test 2.10: 快捷键帮助快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 按下 `?` 键(Shift+/)
|
|
|
|
**预期结果**:
|
|
- ✅ 快捷键帮助面板打开
|
|
- ✅ 显示所有可用快捷键列表
|
|
|
|
#### Test 2.11: 搜索引擎切换快捷键
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 依次按下 `Ctrl+1`, `Ctrl+2`, `Ctrl+3`, `Ctrl+4`, `Ctrl+5`
|
|
|
|
**预期结果**:
|
|
- ✅ 每次按下切换到对应的搜索引擎
|
|
- ✅ 搜索引擎选择器UI同步更新
|
|
|
|
### 阶段3: 边界情况测试
|
|
|
|
#### Test 3.1: 快速连续触发
|
|
**步骤**:
|
|
1. 快速连续按下 `Ctrl+Shift+F` 5次
|
|
|
|
**预期结果**:
|
|
- ✅ 不会打开多个popup
|
|
- ✅ 无控制台错误
|
|
|
|
#### Test 3.2: 快捷键冲突场景
|
|
**步骤**:
|
|
1. 在Google搜索页面打开popup
|
|
2. 测试所有快捷键是否正常工作
|
|
|
|
**预期结果**:
|
|
- ✅ 所有快捷键在搜索页面上正常工作
|
|
- ✅ 不会触发页面自身的快捷键
|
|
|
|
#### Test 3.3: 无效输入测试
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 不输入任何关键词
|
|
3. 按下 `Ctrl+Enter`
|
|
|
|
**预期结果**:
|
|
- ✅ 显示验证错误
|
|
- ✅ 不执行搜索
|
|
|
|
#### Test 3.4: 快捷键在模态窗口中
|
|
**步骤**:
|
|
1. 打开popup
|
|
2. 按下 `Ctrl+Shift+T` 打开模板选择器
|
|
3. 在模板选择器打开时按下 `Escape`
|
|
4. 再次按下 `Escape`
|
|
|
|
**预期结果**:
|
|
- ✅ 首次Escape关闭模板选择器
|
|
- ✅ 再次Escape关闭popup
|
|
|
|
## 调试技巧
|
|
|
|
### 查看快捷键注册状态
|
|
```javascript
|
|
// 在background控制台执行
|
|
chrome.commands.getAll((commands) => {
|
|
console.log('已注册快捷键:', commands)
|
|
})
|
|
```
|
|
|
|
### 查看快捷键事件
|
|
1. 打开popup
|
|
2. 按F12打开开发者工具
|
|
3. 切换到Console标签
|
|
4. 按下快捷键
|
|
5. 查看是否有"快捷键触发"日志
|
|
|
|
### 常见问题排查
|
|
|
|
#### 问题1: 全局快捷键无响应
|
|
**可能原因**:
|
|
- 快捷键被其他扩展占用
|
|
- 快捷键未正确注册
|
|
- 浏览器版本过低
|
|
|
|
**解决方法**:
|
|
1. 访问 chrome://extensions/shortcuts
|
|
2. 检查快捷键是否显示
|
|
3. 尝试更改为其他快捷键
|
|
|
|
#### 问题2: Popup内快捷键无响应
|
|
**可能原因**:
|
|
- shortcutManager初始化失败
|
|
- 事件监听器未正确注册
|
|
- 输入框聚焦导致快捷键被拦截
|
|
|
|
**解决方法**:
|
|
1. 查看控制台是否有错误
|
|
2. 检查shortcutManager.initialize()是否成功
|
|
3. 验证快捷键处理器是否注册
|
|
|
|
#### 问题3: 快捷键冲突
|
|
**可能原因**:
|
|
- 与Chrome内置快捷键冲突
|
|
- 与其他扩展快捷键冲突
|
|
- 与操作系统快捷键冲突
|
|
|
|
**解决方法**:
|
|
1. 更改为使用Ctrl+Shift+X组合
|
|
2. 在chrome://extensions/shortcuts中自定义
|
|
3. 禁用冲突的扩展
|
|
|
|
## 测试报告模板
|
|
|
|
### 测试结果记录
|
|
| 测试项 | 快捷键 | 预期结果 | 实际结果 | 状态 | 备注 |
|
|
|--------|--------|----------|----------|------|------|
|
|
| 全局快捷键 | Ctrl+Shift+F | popup打开 | | ☐ | |
|
|
| 执行搜索 | Ctrl+Enter | 执行搜索 | | ☐ | |
|
|
| 打开模板 | Ctrl+Shift+T | 模板选择器打开 | | ☐ | |
|
|
| 打开历史 | Ctrl+Shift+H | 历史记录显示 | | ☐ | |
|
|
| 复制查询 | Ctrl+Shift+C | 查询已复制 | | ☐ | |
|
|
| 切换高级 | Ctrl+Shift+A | 高级选项切换 | | ☐ | |
|
|
| 聚焦关键词 | Ctrl+K | 关键词输入框聚焦 | | ☐ | |
|
|
| 清空表单 | Ctrl+L | 表单清空 | | ☐ | |
|
|
| 关闭popup | Escape | popup关闭 | | ☐ | |
|
|
| 输入框导航 | Tab/Shift+Tab | 聚焦切换 | | ☐ | |
|
|
| 快捷键帮助 | ? | 帮助面板显示 | | ☐ | |
|
|
| 切换引擎1 | Ctrl+1 | 引擎切换 | | ☐ | |
|
|
| 切换引擎2 | Ctrl+2 | 引擎切换 | | ☐ | |
|
|
|
|
### 发现的问题
|
|
1. 问题描述:
|
|
- 重现步骤:
|
|
- 预期行为:
|
|
- 实际行为:
|
|
- 严重程度: [高/中/低]
|
|
|
|
## 性能测试
|
|
|
|
### 快捷键响应时间
|
|
1. 打开popup
|
|
2. 记录从按下快捷键到执行动作的时间
|
|
3. 期望: < 100ms
|
|
|
|
### 内存占用
|
|
1. 打开Chrome任务管理器(Shift+Esc)
|
|
2. 查找"扩展: SearchSyntax Pro"
|
|
3. 记录内存占用
|
|
4. 期望: < 30MB
|
|
|
|
## 测试完成标准
|
|
|
|
- ✅ 所有快捷键功能测试通过
|
|
- ✅ 无控制台错误或警告
|
|
- ✅ 在不同操作系统上测试通过
|
|
- ✅ 快捷键响应时间 < 100ms
|
|
- ✅ 无内存泄漏
|
|
- ✅ 用户体验流畅
|
|
|
|
## 下一步
|
|
|
|
测试完成后:
|
|
1. 记录所有发现的问题
|
|
2. 评估问题严重程度
|
|
3. 创建issue或bug报告
|
|
4. 优先修复高严重性问题
|
|
5. 进行回归测试
|