Playwright 交互式调试
用持久浏览器会话迭代调试网页与 Electron 应用。
文档明确说明需要 js_repl、项目目录和 Playwright,并披露持久会话、截图及 Electron 主进程检查;但要求关闭沙箱并使用 danger-full-access,且 npm install playwright 未固定版本,也未说明敏感数据隔离、用户确认、权限最小化或回滚方案,因此大幅扣分。
工作流、Web/Electron 分支、重载与重启规则、过期句柄处理和部分错误信息较完整,支持可重复的静态理解;但核心路径未提供已执行测试,多个单元是明显的 happy path,异常输入、依赖失败、服务启动失败和清理失败覆盖不足。按静态校准不超过10分。
目标用户和场景清晰,覆盖本地 Web 与 Electron 应用、功能 QA、视觉 QA、响应式视口和持久会话;但依赖 js_repl、特定 Codex 配置及高权限沙箱,非适用边界和触发条件未系统声明。核心功能主要针对本地环境,不依赖海外在线服务,因此未因大陆网络额外扣分。
SKILL.md 结构清楚,包含前置条件、安装、会话模式、检查清单、截图示例和限制性提示;但选定技能的许可证、版本、变更记录、维护责任和更新路径未在技能目录证据中明确,且 README 表明仓库已废弃并指向其他仓库,因治理和生命周期信息不足扣分。
该技能为持久化 Playwright 调试、功能测试和视觉 QA 提供了可直接参考的流程与代码片段,核心价值明确;但没有静态可验证的代表性输出或实际执行证据,且环境配置、高权限运行和人工 QA 清单带来较高使用成本,因此未达到更高效果分。
源文件提供了较多可审计的命令、代码和检查标准,便于复核文档意图;但没有技能专属测试套件、CI 覆盖或第三方执行证据,结论主要来自单一文档材料。按静态校准不超过5分。
- 不要在含有凭据、生产数据或敏感用户信息的工作区中按文档默认关闭沙箱;应先确认权限边界并隔离测试数据。
- npm install playwright 未锁定版本,依赖来源、浏览器二进制安装和供应链风险需要额外审查。
- 该评估未执行 js_repl、Playwright、Web 应用或 Electron 流程,不能证明文档中的关键路径实际可运行。
- 仓库 README 标记为已废弃;安装或采用前应确认该技能的当前维护来源和许可证。
它能做什么 & 适用场景
该技能通过持久化的 `js_repl` Playwright 会话调试本地网页或 Electron 应用。它保留浏览器、页面和应用窗口句柄,支持在代码修改后重新加载或重启并继续测试。工作流覆盖功能测试、视觉检查、视口适配验证和截图采集。它适合需要反复迭代 UI 的开发者,但依赖 Codex 的 `js_repl` 环境及本地 Playwright 配置。
在项目目录中初始化 npm 项目并安装 Playwright;通过 js_repl 启动 Chromium 或 Electron;打开本地应用并复用浏览器、页面、上下文或 Electron 窗口句柄;使用键盘、鼠标、触摸等真实输入执行功能 QA;分别进行视觉 QA、视口适配检查和截图采集;网页渲染变化时重新加载,主进程、预加载或启动变化时重启 Electron。
- 前端开发者需要在本地网页应用中反复检查交互流程和视觉状态时。
- Electron 开发者修改主进程、预加载脚本或启动逻辑后,需要重启应用验证时。
- UI 调试者需要在桌面和移动视口下检查布局、裁剪和溢出时。
- 质量工程师需要用真实用户输入覆盖可见控件、状态切换和关键端到端流程时。
- 需要保存截图作为视觉 QA 证据的本地应用开发场景。
优缺点一览
- 保留 Playwright 句柄,适合快速迭代调试。
- 同时覆盖网页和 Electron 应用。
- 明确区分功能 QA、视觉 QA 和视口适配检查。
- 提供移动视口、原生窗口和截图标准化流程。
- 要求启用 Codex 的 `js_repl`,并在变更后重启 Codex 以刷新工具列表。
- 当前流程要求禁用沙箱并使用 `danger-full-access`,存在较高权限要求。
- 需要本地安装 Node.js、npm、Playwright,并可能需要 Chromium 或 Electron。
- 来源没有提供测试套件、平台覆盖矩阵或实测结果。
- 仓库 README 标明该仓库已弃用,推荐改用 OpenAI Plugins 仓库。
如何安装
在 Codex 中安装 curated 技能:$skill-installer playwright-interactive,安装后重启 Codex。随后在目标项目目录执行 test -f package.json || npm init -y、npm install playwright,并用 node -e "import('playwright').then(() => console.log('playwright import ok')).catch((error) => { console.error(error); process.exit(1); })" 验证导入。网页的 headed Chromium 可另行执行 npx playwright install chromium;Electron 工作流按需安装 Electron。
如何使用
先确保启用 js_repl;缺少时在 ~/.codex/config.toml 加入 [features] 和 js_repl = true,然后启动新的 Codex 会话。在目标项目目录启动所需开发服务器,再用持久 js_repl 会话加载本地网页或 Electron 应用。按 QA inventory 覆盖需求、控件、状态和最终声明,执行功能 QA 与独立视觉 QA,并在结束时清理 Playwright 会话。SKILL.md 未规定一个固定的用户触发短语。