playwright-e2e

Playwright E2E Test Workflow

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "playwright-e2e" with this command: npx skills add comet-ml/opik/comet-ml-opik-playwright-e2e

Playwright E2E Test Workflow

Three-agent workflow for generating end-to-end tests for the Opik application:

  • Planner -> Explores the Opik UI, generates a markdown test plan with fixture/page-object references

  • Generator -> Transforms the plan into executable Playwright tests following Opik conventions

  • Healer -> Automatically fixes failing tests with Opik-specific debugging knowledge

When to Use

Use when developer requests E2E test generation or repair:

  • "Generate an E2E test for the new dashboard"

  • "Create automated test for the upload flow"

  • "Add happy path test for experiment creation"

  • "Fix the failing prompts test"

Prerequisites

Opik must be running locally

Frontend at http://localhost:5173

Backend healthy

Playwright environment

cd tests_end_to_end/typescript-tests npm install npx playwright install chromium

Safety: Verify Local Config

Before running any tests or SDK operations, check ~/.opik.config . The Python Opik SDK (used by the Flask test helper service) reads this file. If it points to a cloud environment, the workflow will accidentally create real data there.

cat ~/.opik.config

If url_override points to anything other than http://localhost:5173/api , back up and fix it:

cp ~/.opik.config ~/.opik.config.bak 2>/dev/null || true cat > ~/.opik.config << 'EOF' [opik] url_override = http://localhost:5173/api workspace = default EOF

After the workflow is complete, remind the user to restore their config: cp ~/.opik.config.bak ~/.opik.config

Knowledge Base

These context files provide the domain knowledge agents need to produce accurate tests:

  • opik-app-context.md - Opik entities, URL structure, dual SDK/UI pattern, Flask bridge architecture

  • test-conventions.md - Import patterns, naming, tags, annotations, locator preferences, waiting strategies

  • page-object-catalog.md - All page objects with method signatures and constructor info

  • fixture-catalog.md - Fixture hierarchy, types, cleanup behavior, import paths

Workflow Phases

Phase 1: Planning

Agent: agents/playwright-test-planner.md Input: Running Opik app + feature description Output: tests_end_to_end/typescript-tests/specs/{feature-name}.md

Uses seed test: tests/seed-for-planner.spec.ts

Phase 2: Generation

Agent: agents/playwright-test-generator.md Input: Markdown test plan from specs/

Output: tests_end_to_end/typescript-tests/tests/{feature-area}/{test-name}.spec.ts

Uses existing fixtures and page objects. References test-conventions.md for all coding standards.

Phase 3: Healing

Agent: agents/playwright-test-healer.md Input: Failing test + error info Output: Passing test or test.fixme() if the feature is genuinely broken

Directory Structure

tests_end_to_end/ ├── test-helper-service/ # Flask service bridging TS tests to Python SDK ├── test_files/ # Test attachments (images, audio, PDFs) ├── installer_utils/ # Shell scripts for environment checks └── typescript-tests/ ├── specs/ # Markdown test plans (planner output) ├── tests/ # Executable tests (generator output) │ ├── projects/ │ ├── datasets/ │ ├── experiments/ │ ├── prompts/ │ ├── tracing/ │ ├── feedback-scores/ │ ├── playground/ │ ├── online-scoring/ │ └── seed-for-planner.spec.ts ├── fixtures/ # Test fixtures (base -> feature-specific) ├── page-objects/ # Page Object Model classes ├── helpers/ # TestHelperClient, random, wait utilities ├── config/ # Environment configuration └── playwright.config.ts # Playwright configuration

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

typescript-sdk

No summary provided by upstream source.

Repository SourceNeeds Review
General

documentation

No summary provided by upstream source.

Repository SourceNeeds Review
General

diagram-generation

No summary provided by upstream source.

Repository SourceNeeds Review