SDODS
Guides

Migrating from Playwright, Cypress and Cucumber

Bring existing suites into SDODS without rewriting everything on day one.

What you'll learn

What to keep, what to convert, and in which order, when you come from plain Playwright, Cypress or a Cucumber-based framework.

From Playwright

  1. Point sdods analyze <dir> --apply at the existing suite. It copies the specs into projects/<slug>/recorded/imported/ and they run as the recorded layer immediately. Pass --no-import-specs to scaffold the project without copying them.
  2. Move base URLs and credentials into envs/<env>.yaml and .env.<env>.
  3. Convert high-value flows with sdods record convert <spec> so they become tagged features with shared steps.
  4. Turn page.locator('css') calls into heal.locator(primary, context) in page objects as you touch them.

From Cypress

  1. Run sdods analyze to detect routes, the test-id attribute (data-cy is recognised) and existing specs.
  2. Port custom commands to steps in the shared vocabulary or to page-object methods.
  3. Replace cy.intercept fixtures with the mock step or HAR files.
  4. Keep data-cy as testIdAttribute so locators keep working.

From Cucumber frameworks

  1. Copy .feature files into features/<module>/; add the layer and suite tags; sdods lint --fix-tags handles obvious folders.
  2. Map step definitions: most HTTP and navigation steps already exist in the shared library; keep the rest in steps/*.steps.ts using the project test from steps/fixtures.ts.
  3. Replace world state with the apiContext variables and dataset rows.
  4. Replace separate UI and API runners with one sdods run.

Do the migration per module and let the coverage report show what is still uncovered.

Next steps

Using an AI coding agent? Install SDODS:

Install the SDODS plugin in Claude Code: skills, subagents, commands and the MCP server.

  1. /plugin marketplace add YarlisAISolutions/sdods-skills
  2. /plugin install sdods@sdods
Learn more about using SDODS with AI tools

On this page