适用角色与上手难度
🎯 学习产出: 掌握 Axure 原型到 Playwright 验证再到前端实现的完整流程,能独立建立设计稿→代码的可验证闭环
🚀 AI 能力提升: 设计→代码
Axure + Playwright + 前端 + Superpowers 实战
预计阅读时间: 13 分钟设计师出 Axure 原型,Playwright 把它变成可验证的活文档,Superpowers 带着前端团队把它做成真的——一个都不掉链子。
为什么这四样东西要放一起
传统流程的问题:设计师给 Axure 原型 → 前端看两眼开始写代码 → 写完发现和原型长得不一样 → 改 → 再改。中间没有桥梁,全靠人眼比对。
四样东西各司其职:
完整实战流程
场景:设计师给了一个 Axure 后台表单页面原型
假设原型里有一个"新建用户"表单:姓名、邮箱、角色下拉、提交按钮,提交后跳转到列表页。设计师已经导出成静态 HTML 放在 design/user-form/ 目录。
Step 1:Axure 原型 → Playwright 快照(建立"标准答案")
先不给前端看原型写代码。先用 Playwright 把原型的交互录成测试——这就是"标准答案"。后面前端写完了,跑同样的测试,通过就说明实现和设计一致。
Playwright 访问本地 HTML 文件:file:// 协议可以直接打开 Axure 导出的静态页面。如果原型涉及 AJAX 请求,用 page.route() mock 掉后端接口。
这一步的价值:
- 设计师:原型有问题,测试就直接挂了——bug 在设计阶段被发现
- 前端:不用再"感觉哪里不对但说不出",测试就是精确的验收标准
- PM:测试报告就是"设计还原度"的量化指标
Step 2:用 Superpowers 启动前端实现
原型验证通过后,切到 Superpowers 工作流来写前端代码:
在头脑风暴时说清楚上下文:
Superpowers 会帮你理清:
- 组件拆分为
UserForm(表单本体)+UserFormPage(页面容器) - 表单库选 react-hook-form + zod 是因为字段超 3 个且有联动校验
- 路由:
/users/new→ 成功后跳转/users
Superpowers 生成结构化 plan:
Superpowers 的 TDD 流程会带着你:
- 先写单元测试(校验逻辑、表单交互)
- 再写组件代码
- 跑测试 → 红灯 → 绿灯
- 重构
Step 3:Playwright 回归 —— 同一套测试,换一个 URL
前端写完了,把 Step 1 的 Playwright 测试改一行 URL,从原型切到真实前端:
其他断言完全不变。跑:
全部通过 → 前端实现和设计原型精确一致。
这就是 Playwright 做设计验收的核心思路:同一套测试用例,先在 Axure 原型上跑(验证设计正确性),再在真实前端上跑(验证实现正确性)。 测试用例就是设计师和开发之间的合约。
Step 4:Superpowers 审查 + 交付
Playwright 进阶:截图对比
跑完断言还可以加上视觉对比——截图 Axure 原型和真实前端,并排比较:
首次运行生成基准截图(user-form.png),后续运行自动对比。差异超出阈值时 Playwright 会生成 diff 图,直接贴到 PR 里。
实战速查表
Claude Code 串联全流程
有了这个流程,你可以用 Claude Code 把大部分步骤自动化:
Claude Code 会自动:
- 对比旧新原型差异
- 更新 Playwright 测试
- 用 Superpowers TDD 改前端代码
- 跑全量测试
- 生成 PR
常见问题
Axure 导出的 HTML 结构太乱,Playwright 选择器怎么写?
Axure 生成的 HTML 确实有很多 div 嵌套。用 Playwright 的文本选择器和角色选择器而不是 CSS 类名:
原型里有交互逻辑(条件显示/跳转),怎么测?
Axure 导出的 HTML 自带交互脚本。Playwright 可以正常触发和验证:
前端和原型有"合理差异"(比如原型没做 loading 状态),怎么办?
不是所有差异都是问题。合理差异包括:
- 原型没做的 loading / empty / error 状态 → 前端应该加
- 原型用了静态图片,前端用动态数据源 → 正常
- 原型没做响应式,前端要做 → 正常
在 Playwright 测试中区分两类断言:
Playwright 测试跑太慢怎么办?
原型阶段(file:// 协议)很快,前端阶段会慢一些。优化手段:

