5 min readcomparisonplaywrighttrace-viewermcp

TestRelic vs Playwright's built-in tooling: keep the built-ins, add memory

TestRelic Team

Every Playwright team already has a test tooling stack, and it costs nothing: the HTML reporter, Trace Viewer, UI Mode, the VS Code extension, and — for the AI-curious — the official Playwright MCP server. So the honest first question about TestRelic isn't "is it better than the built-ins?" It's "why would I add anything at all?"

The answer is not that the built-ins are weak. They are the best per-run, per-developer debugging tools in the industry, and this post will say so repeatedly. The answer is that they are stateless by design: every artifact describes one run, lives on one machine or one CI job, and is forgotten when the next run overwrites it. TestRelic's entire job is the part that starts after that — history, trends, team visibility, and AI that has actually seen your suite before.

Competitor details reflect their public docs and pricing as of August 2026 — check their sites for the latest.

What the built-ins do, and how good they are

Give the incumbents their full due:

  • Trace Viewer is genuinely best-in-class for a single failing run. A trace captures a film-strip screencast, complete DOM snapshots before/during/after every action, the exact locator used, browser and test console output, and every network request with headers and bodies — all time-travelable, all linked back to the source line. With trace: 'on-first-retry' you get this for CI failures at near-zero cost. Nothing TestRelic ships replaces this, and nothing should.
  • UI Mode wraps the same time-travel debugging in a watch-mode workspace: filter tests by name, project, or tag, rerun on file change, pop out DOM snapshots, and test locators in a live playground.
  • The VS Code extension runs and debugs tests in-editor with breakpoints, records new tests via codegen, and picks locators by clicking the live page.
  • The HTML reporter produces a self-contained, shareable folder for a run, and Playwright's reporter system happily runs several reporters at once — a fact that matters below.
  • Playwright MCP (Microsoft's official MCP server) lets an AI agent drive a browser through structured accessibility snapshots rather than screenshots — deterministic, token-efficient, and the right tool when an agent needs to click, type, and navigate.

All of it is free and maintained by the Playwright team. If your suite is small, your team is one or two people, and failures are rare enough to debug one at a time, you may honestly not need anything else.

What "no memory" costs you

Here is the structural gap. Every one of those tools answers questions about one run:

  • The HTML report is a folder for this run; the next run replaces it.
  • A trace explains this failure superbly — but can't tell you whether the same test failed the same way last Tuesday, or fails only on stage, or has been slowly getting slower for a month.
  • UI Mode and the VS Code extension are single-developer surfaces; nothing aggregates across the team.
  • There is no flakiness rate, no duration trend, no "which tests break most after deploys," because there is nowhere for that data to accumulate.

The questions that actually consume senior-engineer time on a maturing suite are cross-run questions: is this failure new? is this test flaky or broken? what regressed after Thursday's release? Playwright's built-ins can't answer them — not because they're badly built, but because answering them requires a database, and the built-ins deliberately don't have one.

That database is what TestRelic is. The Playwright SDK reporter captures navigation timelines, per-navigation network stats, API call capture, and failure diagnostics as structured JSON — locally and for free, no cloud account required. Add a cloud plan and runs accumulate into per-repo history that powers dashboards, monitoring views for smoke/regression/nightly cadences, and — the part the built-ins structurally can't offer — Ask AI over everything your suite has ever done:

tr -p "which tests started failing after Thursday's deploy, and were any of them already flaky?"

It runs alongside, not instead

This is the practical point that makes the comparison friendly rather than adversarial: Playwright's reporter array takes multiple reporters, and TestRelic's installation guide explicitly keeps your existing one:

playwright.config.ts
export default defineConfig({
  reporter: [
    ['html'],                                 // keep it
    ['@testrelic/playwright-analytics', {     // add memory
      outputPath: './test-results/analytics-timeline.json',
      includeNetworkStats: true,
    }],
  ],
});

Traces still record, UI Mode still works, the VS Code extension is untouched. The TestRelic fixture is API-compatible with @playwright/test, so test logic doesn't change. You lose nothing from the built-in workflow; the analytics JSON simply starts existing next to it.

Two MCPs, two different jobs

"Playwright has an MCP server, so we're covered on AI" conflates two different tools:

  • Playwright MCP gives an agent hands: it drives a live browser — navigate, click, type, snapshot — via the accessibility tree. It knows nothing about your test suite's past.
  • TestRelic MCP gives an agent memory: capability-gated tr_* tools that query your run history, coverage gaps, and failure diagnostics, and act on them — triage, healing, impact analysis — through your TestRelic cloud data.

They're complementary, and TestRelic itself is proof: Studio's live browser pane is driven by the agent's Playwright MCP attached over a CDP endpoint to the same Chromium you're watching, while the same agent uses TestRelic's own tools for suite intelligence. Hands and memory, in one loop. A coding agent healing a broken test wants both: TestRelic MCP to learn how the test failed historically, Playwright MCP to verify the fix against the real page.

Side by side

Playwright built-insTestRelic
Per-run failure debugging✅ Trace Viewer — best-in-classStructured diagnostics; keep Trace Viewer for deep dives
Cross-run history & trends❌ Artifacts are per-run✅ Cloud run history per repo
Team-wide visibility❌ Per-developer / per-CI-job✅ Shared dashboards + monitoring
AI over your suite's pastAsk AI in web, CLI, Studio
MCP for agents✅ Drive a browser (official Playwright MCP)✅ Query & act on test history (TestRelic MCP)
Local, no cloud account✅ Everything✅ Free local SDK reports
In-editor run/debug/record✅ VS Code extension❌ (Studio is a companion app, not a test runner)
CostFree, open sourceFree local; cloud from $19/mo (Growth), Pro $99/mo, 14-day trial

Two concessions worth restating. For debugging a single failing run, Trace Viewer is simply better than anything TestRelic renders — use it. And the built-ins' price is unbeatable: if cross-run questions aren't costing you time yet, the correct amount of extra tooling is zero.

Which should you pick?

Wrong question — this isn't a replacement decision. The real one is: has your suite started asking cross-run questions?

Stay with the built-ins alone if you're a small team with a young suite, failures are rare and debugged individually, and nobody is asking about flakiness rates or release-over-release regressions yet.

Add TestRelic when "is this new?" and "is this flaky?" become weekly questions, when more than one person needs to see suite health, or when you want your coding agent to know your tests' history instead of starting cold. Start free: the local SDK reports cost nothing and change nothing about your existing workflow. The cloud tier is there when the history starts paying for itself.

Keep the built-ins. Add memory.