镜像自地址
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) - 改进全局样式和按钮样式 - 在设置页面新增快捷键配置选项 - 添加测试页面和调试工具 - 更新文档包括发布说明和测试指南 本次提交包含多项功能新增和优化,主要围绕快捷键功能的实现和用户体验提升。
3.7 KiB
3.7 KiB
第二轮优化测试指南
快速测试清单
测试环境
- Chrome 浏览器 (版本 88+)
- 已加载
dist/目录作为扩展程序
P0 测试: targetEngine 持久化
测试步骤
- 打开扩展设置页面 (chrome-extension://[id]/src/options/index.html)
- 找到"引擎切换"分组下的任意快捷键(如 Ctrl+1)
- 点击"编辑"按钮
- 修改"目标搜索引擎"(如从百度改为谷歌)
- 点击"保存"
- 刷新设置页面
- 验证:目标引擎是否保持为谷歌(而非回到百度)
期望结果
✅ targetEngine 修改在刷新后依然保留 ✅ 控制台无错误信息
失败现象(优化前)
❌ 刷新后 targetEngine 恢复为默认值 ❌ 用户修改丢失
P1 测试: 性能优化验证
测试步骤
- 打开 Chrome DevTools (F12)
- 切换到"Console"标签
- 打开扩展设置页面
- 观察控制台输出
期望结果
✅ 无 "未找到快捷键ID" 警告(除非数据真的损坏) ✅ 页面加载快速(无明显延迟) ✅ 切换编辑状态响应迅速
性能对比
- 优化前: 加载时执行 ~225 次字符串比较
- 优化后: 加载时执行 ~15 次 Map 查找(O(1))
P2 测试: 综合功能测试
测试场景1: 修改快捷键
- 编辑任意快捷键(如"执行搜索"从 Ctrl+Enter 改为 Alt+Enter)
- 保存后验证显示正确
- 刷新页面验证持久化
测试场景2: 启用/禁用快捷键
- 切换任意快捷键的启用开关
- 验证状态立即更新
- 刷新页面验证持久化
测试场景3: 重置快捷键
- 修改某个快捷键
- 点击"重置"按钮
- 验证恢复为默认值
测试场景4: 冲突检测
- 尝试将两个快捷键设置为相同按键
- 验证显示冲突提示
- 验证无法保存冲突的快捷键
调试技巧
查看持久化数据
在 DevTools Console 中执行:
chrome.storage.local.get('custom_shortcuts', (result) => {
console.log('Saved shortcuts:', result.custom_shortcuts);
});
清除所有自定义快捷键
chrome.storage.local.remove('custom_shortcuts', () => {
console.log('Cleared all custom shortcuts');
location.reload();
});
验证 ID 映射
在 ShortcutSettings 组件加载时,检查控制台是否有警告:
⚠️ [ShortcutSettings] 未找到快捷键ID: key="...", action="..."
如果有此警告,说明数据不一致,需要检查配置。
自动化验证
运行验证脚本:
node verify-optimization.mjs
期望输出:
✅ saveCustomShortcuts 方法已包含 targetEngine 比较逻辑
✅ 已添加 updateShortcutEngine 专用方法
✅ 已添加 createShortcutIdMap 辅助函数
...
📊 质量评分: 90%+
回归测试
确保优化没有破坏现有功能:
- ✅ 快捷键在 popup 中正常触发
- ✅ 快捷键帮助面板正常显示
- ✅ 所有引擎切换快捷键正常工作
- ✅ Tab 导航正常工作
- ✅ Escape 关闭面板正常工作
已知限制
- 修改的 targetEngine 只影响设置显示,实际引擎切换逻辑需要在 popup 中实现
- 快捷键冲突检测只在同一作用域内生效
- 全局快捷键 (Ctrl+Shift+F) 由 Chrome 扩展 API 管理,无法在设置中修改
问题反馈
如果发现问题,请收集以下信息:
- Chrome 版本
- 控制台错误信息
- 重现步骤
- 期望行为 vs 实际行为
测试签署
测试完成后,请确认以下项目:
- P0: targetEngine 持久化正常
- P1: 性能优化无警告
- P2: 所有功能正常工作
- 回归测试通过
- 无控制台错误
测试人员: _____________
测试日期: _____________
测试结果: ✅ 通过 / ❌ 失败
备注: _________________