用途:在修改组件后,对组件做可视化验证。它会启动该组件专属的 Storybook 故事包,用 playwright-cli 截图,再人工查看渲染结果。
主要能力:通过 nx 启动 react-<component>-stories 的 storybook 目标;自动探测 Storybook 实际监听的 HTTP 端口(按 Content-Type 为 text/html 判断,而非端口号);等待 index.json 填充故事条目;用 playwright-cli 打开 iframe 页面并截图;用 snapshot 获取无障碍树、按 ref 交互(click、hover)、用 resize 测试响应式;支持深色主题参数 globals=theme:webDarkTheme。
使用方式:playwright-cli 通过 npx 运行,命令形如 npx -y @playwright/cli@0.1.1 <command>,首次会下载 @playwright/cli@0.1.1 到 npx 缓存。查找故事包用 yarn nx show project react-<lowercase-component-name>-stories --json;启动用 yarn nx run react-<component>-stories:storybook &;截图用 npx -y @playwright/cli@0.1.1 screenshot --filename=/tmp/visual-test-$ARGUMENTS.png;结束后用 close 关闭,并 kill 掉 Storybook 子进程。故事 ID 形如 components-button--default,iframe 地址形如 http://localhost:$SB_PORT/iframe.html?id=components-button--default&viewMode=story。
适用场景:对 Fluent UI v9 组件做视觉改动后的回归检查,验证默认、外观、尺寸、禁用等故事变体,检查 ARIA 属性与交互状态。
限制:必须使用组件专属 Storybook,不得回退到工作区级 Storybook;若组件没有专属故事包,需检查 preview 包或先询问;端口探测与编译等待有超时,失败时应读 nx 日志排查,常见原因是 unstable re-export 依赖缺少构建产物;目标不存在时可先 yarn nx reset 重试。资料未提供收费、价格与平台信息。