One reporter. Every framework you already run.
npm i -D @testrelic/playwright-analyticsEvery test run becomes shared context for Cursor, Claude Code, Copilot, and Codex — over MCP. So your whole team ships at senior-IC speed, not just the engineer who's been here longest.
playwright.config.ts · reporter: [['@testrelic/playwright-analytics']]
platform.testrelic.ai
No separate upload step, no CI plugin — the reporter does it when the run ends.

Why one SDK family
Same conventions, every language and framework
Drop-in, not a rewrite
Add a reporter or a fixture import and keep your existing test files. No new test-writing API, and zero new production dependencies — the SDKs run on built-ins and the frameworks you already have.
Installation guidereporter: [
['list'],
+ ['@testrelic/playwright-analytics', {
+ includeNetworkStats: true,
+ includeCodeSnippets: true,
+ }],
],
+6 −0 · no test files touched
0 new production dependencies · built-ins only
A run becomes memory automatically
The moment a run finishes locally, its report is memory — read by Ask AI, the Studio and the CLI. No separate upload step, no CI plugin to babysit.
How memory works$ npx playwright test
214 passed · 12s
✓ run #4820 → memory layer · 6.1 MB
upload step · none — the reporter does it
CI plugin · not required
readable by every surface, seconds after the run
One family, every framework
Playwright, Appium and Maestro on the JS side; pytest plugins for Playwright, Appium and DeepEval on the Python side — the same conventions across all of them.
Browse frameworksJavaScript
@testrelic/playwright-analytics
@testrelic/appium-analytics
@testrelic/maestro-analytics
Python
testrelic-pytest
testrelic-playwright
testrelic-appium
testrelic-deepeval
Pick your framework
Install, and hand the prompt to your agent
Two commands and a config line. Or skip both and let an agent do it.
JavaScript
Install the reporter, add one line to your Playwright config, and import the fixture in your specs.
npm i -D @testrelic/playwright-analyticsimport { defineConfig } from '@playwright/test'
export default defineConfig({
+ reporter: [['@testrelic/playwright-analytics']],
})
// specs import the fixture:
import { test } from '…/fixture'
TESTRELIC_API_KEY · tr_live_••••
Python
A pytest plugin. Install it, export your key, and run pytest exactly as you did before.
pip install testrelic-playwright$ pip install testrelic-playwright
Successfully installed testrelic-playwright
$ export TESTRELIC_API_KEY=tr_live_••••
$ pytest
214 passed · plugin: testrelic
Python · 3.10+
Hand it to your agent
Every framework ships an AI setup prompt. Give it to Cursor, Claude Code or Copilot and it wires the SDK into your project for you.
Read the setup docs▌set up TestRelic analytics in this repo
✻ Agent
● edit(playwright.config.ts)
⎿ reporter added · +6 −0
● edit(.env)
⎿ TESTRELIC_API_KEY written
✓ wired in 2 edits — run npx playwright test
Your next run is memory, not just a pass/fail line.
Every SDK is included in every plan, starting with the free local SDK.