Skip to main content
Stably is the AI layer for Playwright — combining a drop-in SDK and AI agents that make your end-to-end tests more capable, stable, and autonomous. With Stably, teams can author, run, and maintain Playwright tests using the same commands and fixtures they already use — now enhanced by AI assertions, auto-healing, triage, and intelligent generation.

How Stably Works

Stably has 3 connected products that work seamlessly together.

1. Stably Playwright SDK

Drop-in replacement for @playwright/test that adds AI runtime capabilities.
  • AI Assertions & Extraction – verify dynamic UIs (charts, PDFs, canvas) with natural-language intent and structured data extraction.
  • Auto-Heal – automatically repairs locators, visuals, or regenerates steps when UI changes.
  • Agent Actions – execute multi-step AI commands (agent.act(...)) for dynamic or stateful flows.
  • Built-in Caching – AI runs only when your UI meaningfully changes; otherwise runs deterministic cached steps.
  • 100% Playwright-compatible – same CLI, fixtures, reporters, and CI setups.
import { test, expect } from '@stablyai/playwright-test';

test('orders dashboard', async ({ page, agent }) => {
  await page.goto('/orders');

  // AI assertion
  await expect(page).toMatchScreenshotPrompt('Revenue card + chart present', { cache: true });

  // AI extraction
  const data = await page.extract({
    prompt: 'Return JSON with { revenueUSD:number, orders:number }',
    cache: true,
  });
  expect(data.orders).toBeGreaterThan(0);

  // Agent action
  await agent.act('Open first order and verify total equals dashboard revenue', { page });
});

2. No-Code Tests (AI Editor + Cloud Runner)

Create, edit, and run tests without code — then export to Playwright anytime.
  • Generate or record tests in plain English with an interactive editor.
  • Supports variables, conditionals, and reusable components.
  • Handles advanced UX like charts, canvas, and file upload/download flows.
  • Auto-heal and caching built-in for stability and cost control.
  • Cloud runner executes in parallel with full traces and screenshots.
  • One-click export to your Playwright repo for deeper CI integration.
Author tests with an interactive editor. Export to Playwright.

3. Triage & Auto-Heal Agent

When a test fails, Stably’s Triage Agent performs full root-cause analysis.
  • Scans all Playwright traces, console logs, and network data.
  • Cross-references your source repo to detect:
    • 🐞 Real product bug
    • 🧪 Test needing update
    • ⚙️ Infrastructure or flake
  • Generates an AI repair prompt you can paste into Cursor, Claude Code, or Copilot.
Root cause: selector 'button[data-id="y7pacvlgm"]' removed
Likely caused by UI refactor in src/components/Button.tsx
Suggested fix: replace with getByRole('button', { name: 'Start' })
Prompt for your coding agent:
"Update login.spec.ts to use accessible role locators instead of data-id."

Why Stably?

  • More Coverage — test dynamic UX like charts, graphs, and canvas that static assertions miss.
  • Fewer Flakes — auto-heal and caching keep suites green and deterministic.
  • Faster Authoring — create tests faster with AI-assisted authoring and repair.
  • Workflow Fit — same Playwright commands and CI setup; optional dashboard only.

Trusted by Builders

Backed by Y Combinator and Vercel Ventures, Stably is used by hundreds of fast-growing teams.
The founding team previously built infrastructure at Google Chrome and Uber.

Next Steps