E2E Testing Scaffolding
Scaffolds an end-to-end testing component with Playwright for browser automation and Testkube for Kubernetes-native test execution.
Input
Invoked by the scaffolding orchestrator with:
component_name: Name of the testing componentproject_name: Project name from settingsexisting_components: Currently configured components (servers, webapps)
Directory Structure
components/testing/e2e/{name}/
├── src/
│ ├── fixtures/
│ │ ├── auth.fixture.ts # Authentication helpers
│ │ └── page.fixture.ts # Page object base
│ ├── pages/
│ │ └── .gitkeep # Page objects go here
│ ├── tests/
│ │ └── .gitkeep # Test files go here
│ └── helpers/
│ ├── test-data.ts # Test data management
│ └── selectors.ts # data-testid selectors
├── playwright.config.ts
├── package.json
├── tsconfig.json
└── README.md
Workflow
- Create the testing directory structure
- Generate Playwright configuration:
- Configure browsers (chromium by default)
- Set base URL from webapp config
- Configure test timeouts and retries
- Create fixture files for authentication and page objects
- Generate Testkube test suite definition (if helm components exist)
- Create README with E2E testing conventions
Standards
Follow e2e-testing-standards for test structure, page object patterns, and selector conventions.
Output
Returns a declared actions response with register_component action for the new E2E testing component.