Skip to content

From Playwright

Convert Playwright end-to-end specs into Smoketest tests you write in words.

View as Markdown

Playwright specs usually contain the user journey you want to keep, plus implementation details Smoketest does not need: locators, retries, waits, storage state, and browser setup.

In Smoketest, keep the journey and expected outcome. Drop the selector strategy.

Translate the concepts

PlaywrightSmoketest
test() bodyOne focused test
test.describe()Test naming, tags, or project grouping
page.goto()Start URL and first test step
page.getByRole().click() / locator.fill()Action step in words
expect(locator).toBeVisible()Verification step in words
storageState or login fixtureEnvironment-backed login steps or a Shared Step
playwright.config.ts baseURLProject URL or run-scoped start URL
Trace/video artifactsSmoketest run history, screenshots, and recording

What to migrate

  • End-to-end specs under tests/, e2e/, or the configured testDir
  • Login, onboarding, checkout, billing, dashboard, settings, and critical navigation journeys
  • Assertions that describe visible product outcomes
  • Fixtures that describe test users, plan states, or seeded data

Keep component tests, API-only tests, network-mocked tests, and browser-engine compatibility matrices in Playwright unless they also represent a real user journey against a real environment.

Quick migration prompt

Paste this into your coding agent from the repository that contains your Playwright tests:

Text
Use $smoketest-explore to migrate this repository's Playwright end-to-end specs to Smoketest.

1. Check that the Smoketest CLI is installed and authenticated.
2. Read playwright.config.* to find baseURL, testDir, projects, and storageState setup.
3. Read Playwright specs, fixtures, and global setup files.
4. Convert only real browser user journeys into .smoketest/explore test drafts.
5. Express actions and assertions in words. Drop locators, waits, retries, and Playwright-specific setup.
6. Use Smoketest environments for credentials; never put passwords in test markdown or chat.
7. Validate and dry-run the generated manifest.
8. List created, updated, skipped, and blocked candidates, then ask before applying with the CLI.

Create one test manually

Shell
cat > homepage-pricing.md <<'EOF'
## Homepage to pricing

- Open the homepage.
- Use the main navigation to open pricing.
- Verify the pricing page shows the available plans and a primary signup action.
EOF

smoketest tests create \
  --name "Homepage to pricing" \
  --url https://staging.example.com \
  --description @homepage-pricing.md

After migration

  • Run a small set first and review recordings before migrating the whole suite.
  • Split long specs that cover multiple journeys into multiple tests.
  • Attach an environment to authenticated tests.
  • Use GitHub triggers or deployment webhooks for PR and preview deployment coverage.
  • Keep Playwright for lower-level checks that do not need a real user journey.

On this page