Skip to content
Back to Blog
PlaywrightReleaseTest AutomationAI Testing

Playwright v1.57 — Chrome for Testing, AI Agents & the Speedboard

Playwright v1.57 introduces Chrome for Testing as the default browser, a Speedboard for identifying slow tests, MCP integration for LLM-powered automation, and intelligent Test Agents that can plan, generate, and heal your tests.

SafetyNet Team ·
Playwright v1.57 — Chrome for Testing, AI Agents & the Speedboard

Playwright v1.57 landed on November 25, 2025 and it’s one of the most significant releases in the framework’s history. This isn’t just a patch — it rethinks how browsers are shipped, how slow tests are surfaced, and how AI fits into your day-to-day testing workflow. Here’s everything you need to know.

Chrome for Testing Replaces Chromium

The headline change: Playwright now ships Chrome for Testing builds instead of raw Chromium — for both headed and headless modes.

Why does this matter? Chromium and Chrome differ in subtle ways: codec support, PDF rendering, enterprise policy handling, and proprietary API surface. If your users are on Chrome (and they almost certainly are), testing against Chromium was always an approximation. Now you get the real thing.

// playwright.config.ts — no changes required
// Playwright automatically uses Chrome for Testing
export default defineConfig({
  projects: [
    {
      name: "chromium",
      use: { ...devices["Desktop Chrome"] },
    },
  ],
});

Tip: If you were using channel: 'chrome' to force the real Chrome binary, you can remove that workaround — it’s now the default.

Speedboard in the HTML Reporter

Playwright v1.57 adds a Speedboard panel directly inside the HTML test report. It surfaces your slowest tests, slowest files, and slowest steps at a glance — so you can identify performance bottlenecks without leaving your CI output.

Key features:

  • Slowest tests ranked by duration — see which specs are eating your pipeline time
  • File-level heat map — spot entire test files that need optimisation
  • Step-level timing — drill into individual test.step() blocks to find the culprit
  • Trend comparison — compare run durations over time when used with persistent storage

This is a huge win for teams running hundreds or thousands of tests. Instead of grepping through logs, you get a visual, interactive dashboard out of the box.

webServer.wait for Reliable Startup

A common pain point: your dev server takes a few seconds to compile, and Playwright starts running tests before the app is ready. The new webServer.wait field gives you explicit control over how long to wait after the server’s health endpoint responds.

// playwright.config.ts
export default defineConfig({
  webServer: {
    command: "npm run dev",
    url: "http://localhost:3000",
    reuseExistingServer: !process.env.CI,
    wait: 2000, // wait 2s after URL responds, e.g. for HMR warm-up
  },
});

No more flaky first-test failures because Vite hadn’t finished its initial bundle.

locator.describe() — Human-Readable Locators

Locators in Playwright are already expressive, but complex selectors can still be opaque in traces and logs. The new locator.describe() method lets you attach a human-readable description that appears in the Trace Viewer, error messages, and test logs.

const submitBtn = page
  .getByRole("button", { name: "Submit" })
  .describe("Primary checkout submit button");

await submitBtn.click();
// Trace viewer now shows: "Primary checkout submit button" → click

This is particularly useful when:

  • Non-engineers review test traces
  • You’re debugging shared CI failures
  • Locators reference dynamically generated selectors

MCP Integration — LLM-Powered Browser Automation

This is the one that changes the game. Playwright now supports the Model Context Protocol (MCP), which allows large language models to directly control browsers, capture snapshots, generate assertions, and interact with your application in context-rich sessions.

What this means in practice:

  • AI agents can browse your app exactly like a user — clicking, typing, navigating
  • Context-aware test generation — the LLM sees the actual DOM state, not just a spec document
  • Snapshot-grounded assertions — the AI generates assertions based on what it actually sees in the browser
  • IDE integration — tools like Cursor and Copilot can use MCP to understand your app’s runtime state
# Start the MCP server
npx @playwright/mcp@latest

The MCP server exposes browser automation as a set of tools that any MCP-compatible client can call. This is a fundamental shift from “write tests by hand” to “have AI write tests while looking at your app”.

Test Agents: Plan, Generate, Heal

Building on MCP, Playwright v1.57 introduces three Test Agents:

Planner Agent

Explores your application autonomously, discovers user flows, and produces structured Markdown test plans. You review the plan, adjust it, and hand it to the Generator.

Generator Agent

Takes a test plan (or natural language description) and produces complete, executable Playwright test files — with proper page objects, assertions, and TypeScript types.

Healer Agent

Monitors your existing tests. When a test fails due to a UI change (renamed button, moved element, updated text), the Healer agent analyses the failure, identifies the root cause, and proposes a fix — or auto-applies it in CI.

# Generate a test plan for your app
npx playwright plan --url http://localhost:3000

# Generate tests from a plan
npx playwright generate --plan ./test-plans/checkout.md

# Heal failing tests
npx playwright heal --report ./test-results

This isn’t a toy. These agents are designed for production CI/CD pipelines, and they integrate directly with GitHub Actions, GitLab CI, and other CI providers.

Other Notable Changes

  • Faster browser downloads — optimised binary fetching reduces npx playwright install time by ~40%
  • Improved expect matchers — new toHaveAccessibleDescription() and toHaveAccessibleErrorMessage() matchers for accessibility testing
  • Better network mockingroute.fulfill() now supports streaming responses for more realistic API simulations
  • Firefox and WebKit updates — latest stable engine versions for comprehensive cross-browser coverage

Upgrading

# Upgrade Playwright
npm install @playwright/test@latest

# Download new browser binaries (now Chrome for Testing)
npx playwright install

The migration from v1.56 is seamless — there are no breaking API changes. The browser binary switch happens transparently.

Our Take

At SafetyNet, we’ve been running the v1.57 release candidates across client projects for the past month. The Chrome for Testing switch alone eliminated three categories of “works in Chromium but not in production Chrome” bugs that we’d been working around. The Speedboard has become our go-to tool for pipeline optimisation conversations with engineering leads.

The AI agents are still early, but they’re already useful for generating boilerplate tests and triaging flaky failures. We expect this to mature rapidly over the next few releases.

If you’re on an older version of Playwright, this is the release to upgrade to. The combination of browser fidelity improvements, performance tooling, and AI capabilities makes v1.57 a milestone release.


Need help with your automation strategy? Book a free discovery call — we’ll review your pipeline and recommend the fastest path to reliable, fast tests.