Playwright 项目脚手架与多项目管理
🧠 一、核心问题理解
在学习 Playwright 自动化过程中,经常会遇到两个问题:
1. npx playwright init 是什么? 2. 多个项目(网报A / CRM)怎么管理? 3. 是否需要复制脚手架?🚀 二、两个初始化命令的区别
✅ 1. 推荐方式(官方标准)
npminit playwright@latest✔ 作用:
- 创建完整 Playwright 项目脚手架
- 自动生成 config / tests / 示例用例
- 自动安装依赖
📦 生成结构:
project/ ├─ tests/ ├─ playwright.config.ts ├─ package.json ├─ node_modules/⚠️ 2. npx playwright init
- 旧写法 / 内部封装
- 功能等价但不推荐
- 当前学习阶段可以忽略
🧠 结论
Playwright项目 = npm init playwright@latest 创建🏗️ 三、多项目如何管理(核心重点)
假设你有:
- 网报A项目
- XCRM项目
- CRM项目
❌ 错误方式(不要这样做)
在一个项目里复制 pages / config / tests 混用问题:
- 登录态冲突
- 结构混乱
- 报告混合
- 维护困难
✅ 正确方式(企业标准)
👉 每个系统一个独立 Playwright 项目
DAI-Test-Lab/ ├─ netreg/ ├─ xcrm/ (系统x) ├─ crm/ (系统c)🧱 四、新建项目的正确方式
🚀 Step 1:进入目录
cdD:\Z\Playwright🚀 Step 2:创建新项目
npminit playwright@latest scrm-test🚀 Step 3:自动生成结构
xcrm-test/ ├─ tests/ ├─ playwright.config.ts ├─ package.json ├─ node_modules/🧠 五、是否需要“复制脚手架”?
❌ 不推荐手动复制
例如:
- 复制 node_modules ❌
- 复制整个项目 ❌
🟡 企业真实做法(两种)
✔ 方法1:重新 init(推荐)
npminit playwright@latest project-name优点:
- 干净
- 独立
- 标准化
✔ 方法2:模板化(进阶)
playwright-template/ ├─ pages/ ├─ utils/ ├─ auth.setup.ts使用方式:
gitclone template❌ 方法3:直接复制项目
不推荐原因:
- node_modules 臃肿
- lock 文件冲突
- config 混乱
🧱 六、核心文件说明
📦 package-lock.json
锁定依赖版本✔ 作用:
- 保证不同环境依赖一致
❌ 不要改 / 不要删
📦 node_modules
依赖代码目录✔ npm install 自动生成
❌ 不要提交 Git
❌ 不要手动修改
📊 report / playwright-report
测试执行结果报告包含:
- HTML report
- trace
- screenshots
🏢 七、企业级项目结构原则
✔ 正确模型
代码(你写) + 依赖(npm管理) + 运行产物(Playwright生成)✔ 职责划分
| 类型 | 管理方式 |
|---|---|
| 代码(pages/tests) | 你维护 |
| 依赖(node_modules) | npm |
| 报告(report) | 自动生成 |
结束
