Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cypress Studio is an interactive feature in the Cypress App’s open mode that records browser actions as editable Cypress end-to-end (E2E) test commands. You can start a new test or extend an existing one, then add assertions yourself. Studio AI is optional: it can recommend assertions, but requires Cypress 15.11.0 or later, a Cypress Cloud account, and a linked project.

What Cypress Studio does

Studio turns supported interactions with your application into Cypress commands in a spec file. You can review and edit the generated code rather than treating the recording as a finished, unchangeable test. It is intended to help create E2E tests, including for developers who want to begin with recorded actions and refine the resulting code.

Studio works in the Cypress App’s open mode. It does not automatically crawl an application: you interact with the page, and Studio records supported actions. Studio AI adds optional recommendations for assertions based on interface changes it observes during that recording.

Choose Studio or Studio AI

Capability Studio without AI Studio AI
Record interactions as E2E commands Yes Yes
Add assertions Manually Manually, with optional AI recommendations
Edit generated code inline Yes Yes
Cypress Cloud account and linked project Not required for Studio itself Required

If you only need to record actions and write assertions yourself, use Studio without AI; a Cloud account is not required for that workflow. Choose Studio AI when you want suggestions to review while recording. The suggestions are optional, and you decide which to keep. See Cypress’s AI in Cypress overview for how Cypress positions its AI features.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check requirements and limitations

  • Internet and sourcemaps: Studio requires internet access and sourcemaps. Cypress says sourcemaps are enabled by default in most configurations; check your build and Cypress setup if recording does not work as expected.
  • Studio AI setup: AI recommendations require Cypress 15.11.0 or later, a Cypress Cloud account, and a project linked to Cloud.
  • Test type: Studio targets E2E tests. It does not support Component Testing or Cucumber-style tests.
  • Browser context: It does not record across multiple origins, and it does not support interactions in iframes or Shadow DOM.
  • AI recommendation limits: Large pages may exceed the AI context window and produce no recommendations. Animations and transitional interface states can also affect suggestions. Studio AI observes your interactions; it does not crawl the application automatically.

The current Cypress Studio guide describes the workflow and its current boundaries. Studio is presented as an integrated feature; do not add the retired experimentalStudio setting. The Cypress migration guide says that option is no longer used and causes Cypress to error if configured. Studio is available by default according to the experimental features documentation.

Record a new test

  1. Open the Cypress App and find the spec file or suite where the test belongs.
  2. Choose New Test for that spec or suite, then enter a descriptive test name.
  3. Enter the application URL. Cypress adds a cy.visit() command and opens Studio ready to record.
  4. Use the application in the browser. Supported recorded actions include clicking, typing, checking and unchecking controls, and selecting options.
  5. Review the generated commands and add assertions. If using Studio AI, review its suggested assertions and choose which ones to keep.
  6. Inspect and edit the test code in Studio, then save the changes to the spec.

The commands Studio records correspond to Cypress actions such as .click(), .type(), .check(), .uncheck(), and .select(). The open-mode guide explains Studio’s place in the Cypress App and how spec changes are handled.

Extend an existing test

  1. Run the spec in the Cypress App.
  2. In the Command Log, hover over the test you want to extend and choose Edit in Studio.
  3. Studio runs the test through its last command. From that point, carry out the additional actions you want recorded.
  4. Add assertions as needed, then inspect the generated commands and edit the code inline.
  5. Save the updated spec.

Studio appends the new actions and assertions to the end of the test. If an action needs to happen earlier in the test, edit the generated code to put it in the appropriate place rather than assuming the recording will insert it at that point.

Add assertions and review selectors

Assertions

Recorded actions describe what the test does; assertions express what it should verify. Studio without AI supports manual assertion entry. With Studio AI, recommendations are based on interface changes observed as you interact with the page. Treat recommendations as suggestions to inspect, not as proof that the test checks the behavior you care about.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Selectors

Studio chooses a unique selector using this documented priority order: data-cy, data-test, data-testid, data-qa, name, id, class, tag, attributes, then nth-child. Inspect the selector and generated test against your application’s conventions. If your team has preferred selector attributes, Cypress documents Cypress.ElementSelector as the API for changing selector preferences for Studio and cy.prompt().

Pause recording when you need to inspect the page

You can pause Studio recording to inspect elements or debug in browser DevTools, then resume recording. This is useful when you need to understand what the application rendered before deciding which action or assertion belongs in the test. If an animation or intermediate UI state is involved, allow the page to reach the intended state before relying on an AI recommendation.

Troubleshoot common problems

  • Studio does not appear or will not start: Confirm you are using the Cypress App’s open mode and an E2E test. Check internet access and whether the application build supplies sourcemaps. Do not try to enable Studio with experimentalStudio; the retired option can cause a startup error.
  • Studio AI is unavailable: Check that Cypress is version 15.11.0 or later, that you are signed in to Cypress Cloud, and that the project is linked. Core recording and manual assertions can still be used without AI.
  • An interaction was not recorded: Confirm it is one of the supported action types, such as click, type, check, uncheck, or select. Studio does not record interactions inside iframes or Shadow DOM, or across multiple origins.
  • AI gives no assertion suggestions: The page may be too large for the AI context window, or the relevant change may not have been observable during recording. Try a smaller interaction flow, wait for the intended UI state, or add the assertion manually.
  • The generated selector is brittle or unfamiliar: Inspect the code and selector against your app’s conventions. Consider configuring selector preferences with Cypress.ElementSelector where appropriate, then edit the generated test to use the intended selector.

When Cypress Studio is the right fit

Studio is useful when you want to create or extend Cypress E2E tests by interacting with a running application and then reviewing the resulting code. It is not a fit for recording component tests, Cucumber-style tests, cross-origin flows, iframe content, or Shadow DOM interactions. For the beginner workflow and the role Studio plays in test generation, see Cypress’s first end-to-end test guide.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

Cypress Studio records browser interactions into E2E test code; ScreenshotNeo is a separate website screenshot API and MCP server for developers, useful when the task is capturing a page image rather than authoring a Cypress test. A single GET request returns a screenshot or PDF, and its parameters are compatible with names used by other screenshot APIs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For example, save a screenshot of Stripe as WebP with cURL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for setup and options. Before capture, it can accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents, including Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 screenshots.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.