Recipe

Playwright E2E test writer

Generate resilient Playwright specs from natural-language descriptions of user flows. Meridian wires the browser, assertions, and selectors so you ship tests in seconds.

Prompt

Write a Playwright test that logs into the dashboard, creates a new project named "Meridian Demo", verifies it appears in the project list, then deletes it. Use page objects.

Output

import { test, expect } from '@playwright/test';
import { LoginPage } from './pages/login';
import { DashboardPage } from './pages/dashboard';

test.describe('Project CRUD', () => {
  test('create and delete project', async ({ page }) => {
    const login = new LoginPage(page);
    await login.navigate();
    await login.signIn('admin@meridian.dev', process.env.TEST_PASS!);

    const dash = new DashboardPage(page);
    await dash.createProject('Meridian Demo');
    await expect(dash.projectRow('Meridian Demo'))
      .toBeVisible();

    await dash.deleteProject('Meridian Demo');
    await expect(dash.projectRow('Meridian Demo'))
      .not.toBeAttached();
  });
});

How it works

  • Meridian parses your flow description into discrete steps.
  • Selectors are inferred from role, label, and placeholder text.
  • Page-object scaffolding is emitted when you request it.
  • Assertions use Playwright best practices — visible, attached, and accessible checks.