Skip to content

From Cypress

Convert Cypress end-to-end specs into Smoketest tests.

View as Markdown

Cypress end-to-end specs often mix clear user intent with selector chains, custom commands, fixtures, intercepts, and browser timing workarounds.

Smoketest tests should keep the intent and expected outcome, not the selector chain.

Translate the concepts

CypressSmoketest
it() in cypress/e2eOne focused test
describe()Test naming, tags, or project grouping
cy.visit()Start URL and navigation step
cy.get().click() / cy.type()Action step in words
cy.contains() / should()Verification step in words
cy.login() / cy.session()Login sharedStep or environment-backed login steps
cypress.config.* baseUrlProject URL or run-scoped start URL
Cypress Dashboard recordingsSmoketest run history and recordings

What to migrate

Migrate specs under cypress/e2e that represent browser journeys. Read cypress/support/commands.* because custom commands often hide the real login, setup, or navigation behavior.

Keep component tests using cy.mount, API-only checks, and heavily mocked tests in Cypress. For cy.intercept()-heavy specs, point Smoketest at a real staging or preview environment instead of trying to recreate mocks in a test.

Quick migration prompt

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

1. Check Smoketest CLI install and auth first.
2. Read cypress.config.* for baseUrl and spec patterns.
3. Read cypress/e2e specs, cypress/support commands, and fixtures.
4. Convert browser user journeys into .smoketest/explore test drafts.
5. Drop selectors, forced clicks, waits, retries, and Cypress-specific commands.
6. Convert visible assertions into expected outcomes written in words.
7. Keep cy.mount component tests and API-only checks out of Smoketest.
8. Use environments for test users and secrets.
9. Validate and dry-run the manifest, then ask before applying.

Example test

Markdown
## Create a new project

- Open the dashboard.
- Start creating a new project.
- Enter a project name and staging URL.
- Save the project.
- Verify the new project appears in the project switcher.

After migration

  • Use tags to group migrated tests by area, such as auth, checkout, or onboarding.
  • Configure schedules for critical paths.
  • Replace CI cypress run jobs with Smoketest CLI, API, GitHub triggers, or deployment webhooks when the migrated tests are passing.

On this page