Adding E2e Tests
Set up Playwright end-to-end testing in a project, including test configuration, example tests, and CI integration.
Specification
- Skill ID
- spencerpauly/awesome-cursor-skills/adding-e2e-tests
- Publisher
- spencerpauly
- Repository
- awesome-cursor-skills
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
How to use it
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
spencerpauly/awesome-cursor-skills/adding-e2e-testsInstalls these files- SKILL.md
What this skill tells the agent
Add E2E Tests (Playwright)
Use this skill when the user asks to add end-to-end tests, browser tests, integration tests, or set up Playwright.
Steps
- Install Playwright
npm init playwright@latestThis 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
baseURLto the local dev server URL (e.g.http://localhost:3000). - Configure
webServerto 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-depsthennpm run test:e2e. Use the officialactions/upload-artifactto save the HTML report on failure.
Notes
- Use
data-testidattributes for selectors instead of CSS classes. - Use
test.describeto group related tests. - Run
npx playwright codegento record tests interactively.
More from spencerpauly
Use this skill in a project
Open any RiverX project, search the Skills panel for spencerpauly/awesome-cursor-skills/adding-e2e-tests, and install it in one click.
