Playwright现代化端到端(E2E)自动化测试框架
1.Playwright 是什么
Playwright 是一个支持多浏览器的自动化测试工具,可以用来:
- 自动化 UI 测试(最常见)
- 爬虫 / 自动化操作网页
- 性能和交互验证
简单理解:用代码控制浏览器,就像真人在操作网页一样
2.核心特点
2.1多浏览器支持
Playwright 原生支持三大浏览器引擎:
- Chromium(Chrome / Edge)
- Firefox
- WebKit(Safari 内核)
一套代码,跨浏览器运行
2.2自动等待(Auto-wait)
Playwright 会自动等待元素可操作:
1 | await page.click('button'); |
不需要手动写,减少 flaky(不稳定)测试
1 | await waitForSelector(...) |
2.3强大的定位能力
支持多种选择器:
1 | page.locator('text=登录') |
推荐使用 语义化定位(getByRole)
2.4支持多语言
可以用以下语言编写:
- JavaScript / TypeScript(最常用)
- Python
- Java
- .NET(C#)
2.5无头 / 有头模式
- Headless(无界面运行,适合 CI)
- Headed(可视化运行,方便调试)
3.基本工作流程
- 启动浏览器
- 打开页面
- 操作页面
- 断言结果
- 关闭浏览器
4.Playwright vs Selenium
| 对比项 | Playwright | Selenium |
|---|---|---|
| 速度 | 更快 | 较慢 |
| 自动等待 | ✅ 内置 | ❌ 需要手动 |
| 多浏览器 | ✅ 原生支持 | ✅ |
| API 设计 | 现代、简洁 | 较老 |
| 稳定性 | 高 | 一般 |
结论:Playwright 是 Selenium 的现代替代方案