mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-28 07:17:04 +02:00
| .. | ||
| composables | ||
| config | ||
| fixtures | ||
| pages | ||
| services | ||
| test-workflows | ||
| tests | ||
| utils | ||
| workflows | ||
| currents.config.ts | ||
| eslint.config.mjs | ||
| global-setup.ts | ||
| package.json | ||
| playwright | ||
| playwright.config.ts | ||
| README.md | ||
| tsconfig.json | ||
| Types.ts | ||
Playwright E2E Test Guide
Quick Start
pnpm test # Run all tests (fresh containers)
pnpm run test:local # Run against http://localhost:5678
Test Commands
# By Mode
pnpm run test:standard # Basic n8n
pnpm run test:postgres # PostgreSQL
pnpm run test:queue # Queue mode
pnpm run test:multi-main # HA setup
# Development
pnpm test --grep "workflow" # Pattern match
Test Tags
test('basic test', ...) // All modes, fully parallel
test('postgres only @mode:postgres', ...) // Mode-specific
test('needs clean db @db:reset', ...) // Sequential per worker
test('chaos test @mode:multi-main @chaostest', ...) // Isolated per worker
Tips
test:*commands use fresh containers (for testing)- VS Code: Set
N8N_BASE_URLin Playwright settings to run tests directly from VS Code - Pass custom env vars via
N8N_TEST_ENV='{"KEY":"value"}'
Project Layout
- composables: Multi-page interactions (e.g.,
WorkflowComposer.executeWorkflowAndWaitForNotification()) - config: Test setup and configuration (constants, test users, etc.)
- fixtures: Custom test fixtures extending Playwright's base test
- pages: Page Object Models for UI interactions
- services: API helpers for E2E controller, REST calls, etc.
- utils: Utility functions (string manipulation, helpers, etc.)
- workflows: Test workflow JSON files for import/reuse