search-syntax-pro/SHORTCUT_TEST_GUIDE.md
Zain 84a509b92d feat: 新增快捷键功能及多项优化
- 新增全局快捷键支持(Ctrl+Shift+F/Command+Shift+F)
- 添加快捷键命令类型定义(chrome-commands.d.ts)
- 实现版本管理工具(version.ts)
- 新增模板和快捷键相关类型定义
- 优化搜索表单组件支持外部控制高级选项
- 新增引擎选择器组件(EngineSelector)
- 改进全局样式和按钮样式
- 在设置页面新增快捷键配置选项
- 添加测试页面和调试工具
- 更新文档包括发布说明和测试指南

本次提交包含多项功能新增和优化,主要围绕快捷键功能的实现和用户体验提升。
2025-11-11 16:45:59 +08:00

7.4 KiB

快捷键功能测试指南

测试环境准备

1. 加载扩展

# 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

调试技巧

查看快捷键注册状态

// 在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. 进行回归测试