All guides
CI · 6 minutes · Beginner

Run Playwright tests in CI with snapshot replay

Claude designs the test once. After that, replay is just a CI job. Here's how to wire E2Easy into GitHub Actions, GitLab CI, your own server, or the E2Easy cloud — with video reports on every run.

The CI integration model

Once Claude has authored a test, it lives in your E2Easy workspace as a Playwright-grade recording. CI doesn't need to talk to Claude or to MCP at all — it just calls the E2Easy runner with a test ID. The runner replays from the saved snapshot and posts back video + logs + a status to GitHub/GitLab.

GitHub Actions

Add a workflow at .github/workflows/e2e.yml:

name: E2E
on: [pull_request]

jobs:
  e2e:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: e2easy/run-action@v1
        with:
          api-key: ${{ secrets.E2EASY_API_KEY }}
          tests: signup, checkout, password-reset
          env: staging

The action fails the PR check if any test regresses, and posts a comment with run links and video clips of the failing steps.

GitLab CI

e2e:
  image: e2easy/runner:latest
  script:
    - e2easy run --tests signup,checkout --env staging
  variables:
    E2EASY_API_KEY: $E2EASY_API_KEY

Self-hosted runner

If you need tests on private networks or VPN-only environments, install the E2Easy CLI on your runner box:

npm i -g @e2easy/cli
e2easy login
e2easy run --tests signup --env staging --report ./run.json

E2Easy cloud (zero-setup)

If you don't want to manage runners at all, schedule the suite from your dashboard or trigger it from chat: "Run all checkout tests against staging." Marginal cost: ~$0.02 per replay.

Replay is deterministic: CI runs the saved Playwright recording, not the LLM. Tokens used per replay step: 0. Self-heal fires only on the failing step, so even on UI churn the LLM bill stays small.

Run history and reports

Every replay — local, CI, or cloud — appears in your dashboard with:

  • Video of the full run
  • Step-by-step logs and screenshots
  • Network HAR (optional)
  • Pass / fail status, duration, browser
  • Diff against the previous run (slow-step alerts)

Run history is searchable via list_test_runs through MCP, so Claude can answer "which tests got slower this week?" in chat.

Plug E2Easy into your CI in 6 minutes

Free during early access · GitHub, GitLab, self-hosted, or our cloud