为什么需要
出海做 Web 产品,手动测试不同浏览器兼容性太慢。Playwright 是微软出品的浏览器自动化测试框架,一条 API 覆盖 Chromium、Firefox、WebKit,支持自动等待、截图、网络拦截。比 Selenium 快、比 Puppeteer 兼容性好。
怎么用
bash
npm init playwright@latest
npx playwright test
写测试:
typescript
import { test, expect } from '@playwright/test';
test('user can login', async ({ page }) => {
await page.goto('https://yourapp.com/login');
await page.fill('#email', 'test@example.com');
await page.fill('#password', '123456');
await page.click('button[type=submit]');
await expect(page).toHaveURL('/dashboard');
});
npx playwright codegen yourapp.com 可以录制操作自动生成测试代码。
使用案例
独立开发者用 Playwright 给 SaaS 产品的核心流程(注册→登录→付费→使用)写了 20 个 E2E 测试,每次发版前跑一遍。某次改了支付逻辑导致结账页面白屏,测试 3 分钟内发现,避免了线上事故。
注意事项
- 定价:完全免费开源
- 局限:测试维护成本随页面变化增长;CI 环境下跑测试需要配置 headless 模式;不支持移动端原生 App 测试