e2e-tester
Writes and executes robust end-to-end tests for Redpanda Console using Playwright and Docker containers.
Install
mkdir -p .claude/skills/e2e-tester && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5270" && unzip -o skill.zip -d .claude/skills/e2e-tester && rm skill.zipInstalls to .claude/skills/e2e-tester
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Write and run Playwright E2E tests for Redpanda Console using testcontainers. Analyzes test failures, adds missing testids, and improves test stability. Use when user requests E2E tests, Playwright tests, integration tests, test failures, missing testids, or mentions 'test workflow', 'browser testing', 'end-to-end', or 'testcontainers'.Key capabilities
- →Orchestrate testcontainer lifecycle
- →Analyze Playwright test failure logs
- →Automate frontend build steps
- →Validate selector usage
How it works
Runs Playwright tests against full stack containers managed by testcontainers while verifying semantic selector usage.
Inputs & outputs
When to use e2e-tester
- →Automating multi-page user journeys
- →Running browser integration tests
- →Debugging failing end-to-end tests
About this skill
E2E Testing with Playwright & Testcontainers
Write end-to-end tests using Playwright against a full Redpanda Console stack running in Docker containers via testcontainers.
When to Use This Skill
- Testing 2+ step user journeys (login -> action -> verify)
- Multi-page workflows
- Browser automation with Playwright
NOT for: Component unit tests -> use testing
Critical Rules
ALWAYS:
- Run
bun run buildbefore running E2E tests (frontend assets required) - Use
testcontainersAPI for container management (never manualdockercommands in tests) - Use
page.getByRole()andpage.getByLabel()selectors (avoid CSS selectors) - Add
data-testidattributes when semantic selectors aren't available - Use Task tool with MCP Playwright agents to analyze failures
- Clean up test data using
afterEachto call cleanup API endpoints
NEVER:
- Test UI component rendering (use unit/integration tests)
- Use brittle CSS selectors like
.class-nameor#id - Use
force:trueon.click()orwaitForTimeout - Hard-code wait times (use
waitForwith conditions) - Leave containers running after test failures
- Commit test screenshots to git
Commands
bun run build # Build frontend (REQUIRED first!)
bun run e2e-test # Run OSS E2E tests
bun run e2e-test-enterprise # Run Enterprise E2E tests
bun run e2e-test:ui # Playwright UI mode (debugging)
bun run e2e-test tests/topics/create-topic.spec.ts # Specific file
Test Architecture
OSS Mode (bun run e2e-test): Redpanda + Backend + OwlShop containers
Enterprise Mode (bun run e2e-test-enterprise): Same + RBAC, SSO (requires console-enterprise repo)
File location: tests/<feature>/*.spec.ts
Selector Priority
getByRole()- Best for accessibilitygetByLabel()- For form inputsgetByText()- For content verificationgetByTestId()- When semantic selectors aren't clear- CSS selectors - Avoid if possible
Test ID Naming
- kebab-case:
data-testid="feature-action-element" - Specific: include feature name + action + element type
- Dynamic:
data-testid={\item-delete-${id}`}`
References
- Container Setup — Testcontainer lifecycle, configs, CI setup
- Test Patterns — Multi-step workflows, forms, tables, API testing
- Failure Analysis — Error patterns, debugging, MCP Playwright agents
Output
After completing work:
- Confirm frontend build succeeded
- Verify all E2E tests pass
- Note any new test IDs added to components
- Mention cleanup of test containers
When not to use it
- →Component unit testing
- →Single-step UI interaction tests
Prerequisites
Limitations
- →Requires significant resources for containers
- →Not for unit-level verification
How it compares
It integrates container orchestration directly with test execution to prevent environment-related failures.
Compared to similar skills
e2e-tester side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| e2e-tester (this skill) | 1 | 5mo | Review | Intermediate |
| agent-sandbox | 1 | 6mo | No flags | Intermediate |
| testing-load-balancers | 0 | 24d | Review | Advanced |
| ci-cd | 0 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by redpanda-data
View all by redpanda-data →You might also like
agent-sandbox
ruvnet
Agent skill for sandbox - invoke with $agent-sandbox
testing-load-balancers
jeremylongshore
Validate load balancer behavior, failover, and traffic distribution. Use when performing specialized testing. Trigger with phrases like "test load balancer", "validate failover", or "check traffic distribution".
ci-cd
ZacharyLuz
Continuous Integration and Continuous Deployment best practices. Use when setting up automated build pipelines, test automation, deployment workflows, or improving release processes.
e2e-test-service-management
raphaelmansuy
Service management for E2E testing in EdgeQuake. Start, stop, and monitor PostgreSQL, backend API, and frontend services. Includes health checks and logging utilities for interactive testing workflows.
ci-verification
vemikrs
>
chaos-scenario
petercort
Use when authoring, running, or reviewing chaos engineering experiments in this monorepo. Covers steady-state hypothesis, fault injection (service kill, latency, network partition, overload), result recording to CSV, and cleanup/restore. Triggers: "add chaos scenario", "new chaos test", "inject faul