testing-e2e

SKILL.md

End-to-End Testing

Full E2E test suites, API testing, load testing, and report generation.

Run Playwright E2E suite

# Run full E2E suite
npx playwright test --config=playwright.config.ts

# Run E2E tests with retries
npx playwright test --retries=2

# Run E2E in CI mode (all browsers, parallel)
npx playwright test --reporter=html --workers=4

# Run tagged E2E tests
npx playwright test --grep="@smoke"
npx playwright test --grep="@critical"

# Trace on failure for debugging
npx playwright test --trace=on-first-retry
npx playwright show-trace test-results/trace.zip

Run Cypress E2E

# Run all E2E specs
npx cypress run --e2e

# Run specific E2E spec
npx cypress run --spec "cypress/e2e/checkout.cy.ts"

# Run with video recording
npx cypress run --e2e --record

# Run in a specific browser
npx cypress run --e2e --browser electron

# Run with environment variables
npx cypress run --e2e --env BASE_URL=http://localhost:3000

API testing with supertest

# Run API tests (typically Jest or Vitest)
npx jest tests/api/
npx vitest run tests/api/

# Scaffold an API test (example)
# Create tests/api/health.test.ts with supertest
# importing app and using request(app).get("/health")

Load testing with k6

# Run a k6 load test (requires k6 installed)
k6 run load-tests/smoke.js

# Run with custom VUs and duration
k6 run --vus 50 --duration 30s load-tests/stress.js

# Run with thresholds
k6 run --out json=results.json load-tests/spike.js

# Scaffold a k6 script (example)
# Create load-tests/smoke.js with k6/http import
# Define options: vus, duration, thresholds
# Export default function with http.get and check

Test report generation

# Playwright HTML report
npx playwright test --reporter=html
npx playwright show-report

# Playwright JSON report
npx playwright test --reporter=json > test-results.json

# Playwright JUnit report (for CI)
npx playwright test --reporter=junit > junit-results.xml

# Cypress reports with mochawesome
npx cypress run --reporter mochawesome --reporter-options reportDir=reports,overwrite=false,html=true

# Merge multiple mochawesome reports
npx mochawesome-merge reports/*.json > merged-report.json
npx marge merged-report.json --reportDir=reports --inline

# Jest HTML report (requires jest-html-reporter)
npx jest --reporters=default --reporters=jest-html-reporter
Weekly Installs
2
First Seen
14 days ago
Installed on
opencode2
gemini-cli2
claude-code2
github-copilot2
codex2
kimi-cli2