Skip to content

One reporter. Every framework you already run.

npm i -D @testrelic/playwright-analytics

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

Used every day by teams shipping software with AI
Purple Plum FI
ClubQ
Virtu
Levich

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 guide
playwright.config.ts

reporter: [

['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
shop-e2e — zsh

$ npx playwright test

214 passed · 12s

✓ run #4820 → memory layer · 6.1 MB

upload step · none — the reporter does it

CI plugin · not required

Ask AIStudioCLIMCP

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 frameworks
node_modules · site-packages

JavaScript

@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-analytics
playwright.config.ts — JavaScript

import { defineConfig } from '@playwright/test'

export default defineConfig({

+ reporter: [['@testrelic/playwright-analytics']],

})

// specs import the fixture:

import { test } from '…/fixture'

PlaywrightAppium (WDIO)Maestro

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
pytest — Python

$ pip install testrelic-playwright

Successfully installed testrelic-playwright

$ export TESTRELIC_API_KEY=tr_live_••••

$ pytest

214 passed · plugin: testrelic

pytestPlaywrightAppiumDeepEval

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
Cursor — shop-e2e

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.