# 快捷键功能测试指南 ## 测试环境准备 ### 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. 进行回归测试