Playwright 项目脚手架与多项目管理

📅 2026/7/6 1:29:13 👁️ 阅读次数 📝 编程学习
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)自动生成

结束