协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
adding-e2e-tests【开发与工程】Set up Playwright end-to-end testing in a project, including test configuration, example tests, and CI integration.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill when the user asks to add end-to-end tests, browser tests, integration tests, or set up Playwright.
Install Playwright
npm init playwright@latest
This creates playwright.config.ts, a tests/ directory, and installs browsers. If the project already has a test runner, install manually:
npm install -D @playwright/test
npx playwright install
Configure playwright.config.ts
Set baseURL to the local dev server URL (e.g. http://localhost:3000).
Configure webServer to start the dev server automatically:
webServer: {
command: "npm run dev",
url: "http://localhost:3000",
reuseExistingServer: !process.env.CI,
},
Enable only chromium for local dev speed; enable all browsers in CI.
Create a smoke test — write a basic test that verifies the app loads:
import { test, expect } from "@playwright/test";
test("homepage loads", async ({ page }) => {
await page.goto("/");
await expect(page).toHaveTitle(/.+/);
});
Add page object pattern (optional) — for larger apps, create a tests/pages/ directory with page objects that encapsulate selectors and actions.
Add npm scripts
{
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui"
}
Add to .gitignore
test-results/
playwright-report/
blob-report/
CI integration — add a GitHub Actions step that runs npx playwright install --with-deps then npm run test:e2e. Use the official actions/upload-artifact to save the HTML report on failure.
data-testid attributes for selectors instead of CSS classes.test.describe to group related tests.npx playwright codegen to record tests interactively.