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.zip

Installs 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'.
338 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

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

You give it
Testing scenario
You get back
Execution report and stable test code

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 build before running E2E tests (frontend assets required)
  • Use testcontainers API for container management (never manual docker commands in tests)
  • Use page.getByRole() and page.getByLabel() selectors (avoid CSS selectors)
  • Add data-testid attributes when semantic selectors aren't available
  • Use Task tool with MCP Playwright agents to analyze failures
  • Clean up test data using afterEach to call cleanup API endpoints

NEVER:

  • Test UI component rendering (use unit/integration tests)
  • Use brittle CSS selectors like .class-name or #id
  • Use force:true on .click() or waitForTimeout
  • Hard-code wait times (use waitFor with 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

  1. getByRole() - Best for accessibility
  2. getByLabel() - For form inputs
  3. getByText() - For content verification
  4. getByTestId() - When semantic selectors aren't clear
  5. 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

Output

After completing work:

  1. Confirm frontend build succeeded
  2. Verify all E2E tests pass
  3. Note any new test IDs added to components
  4. Mention cleanup of test containers

When not to use it

  • Component unit testing
  • Single-step UI interaction tests

Prerequisites

dockerplaywrightbun

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.

SkillInstallsUpdatedSafetyDifficulty
e2e-tester (this skill)15moReviewIntermediate
agent-sandbox16moNo flagsIntermediate
testing-load-balancers027dReviewAdvanced
ci-cd06moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by redpanda-data

View all by redpanda-data

react-best-practices

redpanda-data

Client-side React performance optimization patterns.

2244

code-standards

redpanda-data

TypeScript, React, and JavaScript best practices enforced by Ultracite/Biome.

27

bloblang-authoring

redpanda-data

This skill should be used when users need to create or debug Bloblang transformation scripts. Trigger when users ask about transforming data, mapping fields, parsing JSON/CSV/XML, converting timestamps, filtering arrays, or mention "bloblang", "blobl", "mapping processor", or describe any data transformation need like "convert this to that" or "transform my JSON".

12

component-search

redpanda-data

This skill should be used when users need to discover Redpanda Connect components for their streaming pipelines. Trigger when users ask about finding inputs, outputs, processors, or other components, or when they mention specific technologies like "kafka consumer", "postgres output", "http server", or ask "which component should I use for X".

12

form-refactorer

redpanda-data

Refactor legacy forms to use modern Redpanda UI Registry Field components with react-hook-form and Zod validation. Use when user requests: (1) Form refactoring or modernization, (2) Converting Chakra UI or @redpanda-data/ui forms, (3) Updating forms to use Field components, (4) Migrating from legacy form patterns, (5) Implementing forms with react-hook-form and Zod validation.

13

pipeline-assistant

redpanda-data

This skill should be used when users need to create or fix Redpanda Connect pipeline configurations. Trigger when users mention "config", "pipeline", "YAML", "create a config", "fix my config", "validate my pipeline", or describe a streaming pipeline need like "read from Kafka and write to S3".

13

Search skills

Search the agent skills registry