01
Recorder → real Playwright code
Record a flow once. Lastest emits human-readable Playwright TypeScript using @playwright/test, ready to commit, code-review, and run in any Playwright-compatible CI.
Test Runtime
Lastest is built on the official Playwright base image. Recorded and AI-generated tests are emitted as ordinary Playwright TypeScript with 7-layer fallback selectors, so every replay is deterministic and costs $0 in AI tokens.
What you get
01
Record a flow once. Lastest emits human-readable Playwright TypeScript using @playwright/test, ready to commit, code-review, and run in any Playwright-compatible CI.
02
Every locator is captured at seven levels. If your UI shifts, Lastest falls back through data-testid → id → role → aria-label → text → CSS → OCR before it gives up - surviving most refactors and AI-driven UI churn.
03
Tests run only inside Embedded Browser pods on Kubernetes (k3d locally, your real cluster in prod). Pods are provisioned dynamically per build, isolated, and torn down after each run.
How it works
Diagram 1 · Recorder pipeline
Diagram 2 · 7-layer selector fallback
Diagram 3 · Embedded Browser pod provisioning
Configure
Excerpt of generated Playwright code with multi-layer selectors
import { test, expect } from '@playwright/test';
test('checkout completes with stripe test card', async ({ page }) => {
await page.goto('/pricing');
await page.locator('[data-testid="cta-upgrade"]') // layer 1
.or(page.getByRole('button', { name: /upgrade/i })) // layer 3
.or(page.getByText('Upgrade')) // layer 5
.first()
.click();
await expect(page).toHaveScreenshot('checkout.png', {
maxDiffPixelRatio: 0.001,
});
});