# Momentic ## Docs - [Welcome to Momentic](https://momentic.ai/docs/index.md): Write tests in natural language, run them anywhere. - [What is AI-native testing?](https://momentic.ai/docs/get-started/ai-native-testing.md): Use AI across the testing lifecycle to build coverage faster, keep tests reliable, and turn run data into product intelligence. - [How Momentic works](https://momentic.ai/docs/get-started/how-momentic-works.md): How Momentic combines preset steps, AI actions, modules, execution, CLI-based agents, and context from past runs. - [Web](https://momentic.ai/docs/quickstart/web.md): Set up Momentic for a web app and run your first test. - [iOS](https://momentic.ai/docs/quickstart/ios.md): Set up Momentic for an iOS app and run your first mobile test. - [Android](https://momentic.ai/docs/quickstart/android.md): Set up Momentic for an Android app and run your first mobile test. - [Cross-platform](https://momentic.ai/docs/quickstart/cross-platform.md): Test React Native, Expo, Flutter, and other cross-platform apps with Momentic by building native iOS and Android artifacts. - [MCP](https://momentic.ai/docs/coding-agents/mcp-server.md): Run Momentic's MCP server so coding agents can author, run, and triage tests directly from your editor. - [Explore agent](https://momentic.ai/docs/coding-agents/explore.md): Discover the user journeys changed by a diff and author tests to cover them, from the CLI or in CI. - [Local app](https://momentic.ai/docs/local-app.md): Author, run, and debug web and mobile tests in Momentic's local visual editor. - [YAML format](https://momentic.ai/docs/core-concepts/test-format.md): How Momentic tests and modules are written on disk. One simplified YAML format for web and mobile, with single-key command aliases, natural-language targets, modules, and conditionals. - [Modules](https://momentic.ai/docs/core-concepts/modules.md): Extract reusable sequences of steps, parameterize them, and share across tests. - [Variables](https://momentic.ai/docs/core-concepts/variables.md): Store and reuse data across steps using the global `env` object and templating syntax. - [Finding elements](https://momentic.ai/docs/core-concepts/finding-elements.md): How to describe elements so Momentic's AI reliably finds them. - [Writing assertions](https://momentic.ai/docs/core-concepts/writing-assertions.md): How to write **AI check** assertions that pass reliably and fail for the right reasons. - [Writing maintainable tests](https://momentic.ai/docs/best-practices/maintainable-tests.md): Patterns that keep Momentic tests readable, debuggable, and fast to change. - [Test organization](https://momentic.ai/docs/best-practices/test-organization.md): Directory layouts, naming, and labeling patterns that scale past a handful of tests. - [Debugging flaky tests](https://momentic.ai/docs/best-practices/debugging-flaky-tests.md): Diagnose and fix tests that pass on some runs and fail on others. - [JavaScript](https://momentic.ai/docs/integrations/javascript.md): Run arbitrary JavaScript inside a test, either in a sandboxed Node environment or in the current browser page. - [Request mocking](https://momentic.ai/docs/platforms/web/request-mocking.md): Intercept network requests to serve fake data, override feature flags, or test error states. - [Running locally](https://momentic.ai/docs/running-tests/running-locally.md): Run Momentic tests on your own machine for fast feedback during development. - [Hosted test environments](https://momentic.ai/docs/running-tests/hosted-test-environments.md): Run tests on Momentic-hosted browsers and remote emulators or simulators. - [GitHub Actions](https://momentic.ai/docs/running-tests/ci/github-actions.md): Run Momentic tests from GitHub Actions, with sharding and secrets. - [GitLab CI](https://momentic.ai/docs/running-tests/ci/gitlab-ci.md): Run Momentic tests from GitLab CI, with sharding and secrets. - [CircleCI](https://momentic.ai/docs/running-tests/ci/circleci.md): Run Momentic tests from CircleCI, with sharding and secrets. - [Jenkins](https://momentic.ai/docs/running-tests/ci/jenkins.md): Run Momentic tests from a Jenkins pipeline. - [Travis CI](https://momentic.ai/docs/running-tests/ci/travis-ci.md): Run Momentic tests from Travis CI. - [Buildkite](https://momentic.ai/docs/running-tests/ci/buildkite.md): Run Momentic tests from Buildkite, with sharding and secrets. - [Azure DevOps](https://momentic.ai/docs/running-tests/ci/azure-devops.md): Run Momentic tests from Azure Pipelines, with sharding and secrets. - [Custom setups](https://momentic.ai/docs/running-tests/ci/custom-setups.md): Make Momentic behave correctly when running on CI providers without a dedicated guide. - [AI test selection](https://momentic.ai/docs/ai/select.md): Select the tests most likely to catch regressions from a code change, using your code index and app graph. - [AI test maintenance](https://momentic.ai/docs/reliability/auto-maintenance.md): Use AI to escalate from in-run locator fixes to transient recovery, permanent healing, and quarantine. - [Performance](https://momentic.ai/docs/running-tests/performance.md): Step latency, Momentic vs. Playwright benchmarks, and scaling large test suites with parallelism and sharding. - [Results and reporting](https://momentic.ai/docs/running-tests/results.md): View test results in the dashboard, generate JUnit, Allure, or Playwright JSON reports, and surface failures in CI. - [Knowledge base](https://momentic.ai/docs/ai/knowledge-base.md): Teach Momentic about your product (terminology, agent rules, and flows) so every AI-assisted step behaves consistently across runs. - [App graph](https://momentic.ai/docs/ai/app-graph.md): Turn real run traces into journey coverage, better AI test selection, and product risk analysis. - [Memory](https://momentic.ai/docs/ai/memory.md): Momentic seeds AI decisions with traces from past successful runs so the agent stays consistent across executions. - [Agent skills](https://momentic.ai/docs/ai/skills.md): Commit project-specific guidance for Momentic's runtime agents to your repository with .momentic/skills. - [Browsers](https://momentic.ai/docs/platforms/web/browsers.md): Supported browsers and Momentic's runtime overrides. - [App setup](https://momentic.ai/docs/platforms/ios/app-setup.md): Build a testing-ready iOS app and package it for local or remote simulators. - [Simulators](https://momentic.ai/docs/platforms/ios/simulators.md): Run iOS tests on Momentic's remote simulators or local simulators managed by your own Xcode. - [App setup](https://momentic.ai/docs/platforms/android/app-setup.md): Install the tools Android testing needs, package your APK, and enable WebView debugging. - [Emulators](https://momentic.ai/docs/platforms/android/emulators.md): Choose between remote Android emulators (provisioned by Momentic) or local AVDs on your own machine. - [Email](https://momentic.ai/docs/integrations/email.md): Send and receive email from Momentic-provisioned inboxes inside **JavaScript** steps. - [SMS](https://momentic.ai/docs/integrations/sms.md): Send and receive SMS from Momentic-provisioned phone numbers inside **JavaScript** steps. - [Files](https://momentic.ai/docs/integrations/files.md): Upload and download files during a test. - [IDE lint](https://momentic.ai/docs/core-concepts/editor-validation.md): Add Momentic's JSON Schemas to your IDE for autocomplete and inline validation while you hand-edit test and module YAML. - [Slack](https://momentic.ai/docs/integrations/slack.md): Notify Slack channels when tests are quarantined or unquarantined. - [Devin](https://momentic.ai/docs/integrations/devin.md): Configure Momentic's MCP servers in Devin. - [GitHub](https://momentic.ai/docs/integrations/github.md): Post Momentic test summaries as pull request comments on GitHub. - [GitLab](https://momentic.ai/docs/integrations/gitlab.md): Post Momentic test summaries as merge request comments on GitLab. - [Step caching](https://momentic.ai/docs/reliability/step-cache.md): Momentic caches locator data from successful runs so repeat runs execute in milliseconds without AI calls. - [Global locator redirect](https://momentic.ai/docs/reliability/global-locator-redirect.md): Bridges the accessibility tree and actual interactive elements so Momentic can click what the user sees, not a hidden backing element. - [Cloud deprecation](https://momentic.ai/docs/get-started/cloud-deprecation.md): Authoring and running tests in the Momentic cloud is deprecated. Run `npx momentic import` to pull your tests into your repo and own them with the CLI. - [Simplified format](https://momentic.ai/docs/get-started/migrate-to-simplified-format.md): Move existing tests and modules from legacy YAML to Momentic's simplified format, on web and mobile. - [Upgrading to momentic v3](https://momentic.ai/docs/get-started/upgrade-to-v3.md): What changed in momentic 3.0 and how to move your web project from a 2.x release. - [Upgrading to momentic-mobile v1](https://momentic.ai/docs/get-started/upgrade-to-mobile-v1.md): What changed in momentic-mobile 1.0 and how to move your mobile project from a 0.x release. - [API keys and team settings](https://momentic.ai/docs/account/api-keys-and-team.md): Manage API keys, team members, roles, SSO, and billing in the Momentic dashboard. - [Privacy and security](https://momentic.ai/docs/account/security.md): Momentic's data handling, certifications, and sub-processors. - [Overview](https://momentic.ai/docs/guides.md): Task-oriented recipes for the most common Momentic workflows, like auth, file uploads, network assertions, and data-driven runs. - [Author tests from a diff in CI](https://momentic.ai/docs/guides/explore/in-ci.md): Run the explore agent whenever changes land on main to discover changed user journeys and open the new tests as a PR. - [Bug bash with the explore agent](https://momentic.ai/docs/guides/explore/bug-bash.md): Point the explore agent at a deployment and have it hunt for product bugs instead of building tests. - [Explore a code diff into a separate test repo](https://momentic.ai/docs/guides/explore/poly-repo-diff.md): Run the explore agent against a pull request in your application repo and write the generated tests into a separate Momentic test repo. - [Seed a separate test repo against a running app](https://momentic.ai/docs/guides/explore/poly-repo-seed.md): Run the explore agent on a schedule from your Momentic test repo, exploring a running app instead of a code diff. - [Turn on in-flow classification](https://momentic.ai/docs/guides/auto-heal/in-flow-classification.md): Classify failures during the run itself, so every failed run carries a category, reasoning, and a triage action by the time the CLI exits. - [Agentic testing](https://momentic.ai/docs/core-concepts/agentic-testing.md): Use **AI action** steps to test dynamic scenarios and high-level goals without hard-coding every interaction. - [Writing effective AI actions](https://momentic.ai/docs/guides/ai-actions/guide.md): A practical guide to writing AI action steps, from rolling up imperative clicks into declarative goals to grouping goals into semantic phases, guarding flows with conditions, and the limits to design around. - [Authentication strategies](https://momentic.ai/docs/guides/auth/overview.md): How to authenticate in your tests and reuse the session across runs. Compares live login, authSave/authLoad state files, and cached auth modules, with trade-offs and a recommended order. - [Authentication](https://momentic.ai/docs/core-concepts/authentication.md): Strategies for authenticating into your app from a Momentic test without breaking on SSO or 2FA. - [Log in with email OTP codes](https://momentic.ai/docs/guides/auth/email-otp.md): Fetch a one-time passcode from a Momentic-provisioned inbox and type it into your app. - [Log in with SMS OTP codes](https://momentic.ai/docs/guides/auth/sms-otp.md): Fetch a one-time passcode from a Momentic-provisioned phone number and type it into your app. - [Log in with email verification links](https://momentic.ai/docs/guides/auth/email-link.md): Extract a magic login link from an email and navigate to it. - [Log in with OTPAuth (TOTP)](https://momentic.ai/docs/guides/auth/otpauth.md): Generate authenticator-app 2FA codes inside a **JavaScript** step using the `otpauth` library. - [Cache authenticated sessions](https://momentic.ai/docs/guides/auth/cached-session.md): Wrap your login flow in an auth module so parallel tests only authenticate once. - [Test Vercel protected preview environments](https://momentic.ai/docs/guides/auth/vercel-previews.md): Bypass Vercel's authentication wall using a protection bypass secret. - [Upload files](https://momentic.ai/docs/guides/page-interactions/upload-files.md): Upload remote URLs, previously-downloaded files, or local files with the **File upload** step. - [Download files](https://momentic.ai/docs/guides/page-interactions/download-files.md): Wait for a file download triggered by a **Click** step and optionally save the URL for later use. - [Select options from a dropdown](https://momentic.ai/docs/guides/page-interactions/dropdowns.md): Use **Select** for native `` dropdown. - [type](https://momentic.ai/docs/reference/commands/type.md): Type text into an input, optionally clearing and submitting. - [fileUpload](https://momentic.ai/docs/reference/commands/file-upload.md): Attach a file to the next file picker the page opens. - [scrollDown](https://momentic.ai/docs/reference/commands/scroll-down.md): Scroll the page or a container down. - [scrollLeft](https://momentic.ai/docs/reference/commands/scroll-left.md): Scroll the page or a container left. - [scrollRight](https://momentic.ai/docs/reference/commands/scroll-right.md): Scroll the page or a container right. - [scrollUp](https://momentic.ai/docs/reference/commands/scroll-up.md): Scroll the page or a container up. - [closeTab](https://momentic.ai/docs/reference/commands/close-tab.md): Close the active tab or a matching tab. - [goBack](https://momentic.ai/docs/reference/commands/go-back.md): Navigate back in the browser history. - [goForward](https://momentic.ai/docs/reference/commands/go-forward.md): Navigate forward in the browser history. - [navigate](https://momentic.ai/docs/reference/commands/navigate.md): Navigate the current tab to a URL. - [newTab](https://momentic.ai/docs/reference/commands/new-tab.md): Open a URL in a new tab and switch to it. - [refresh](https://momentic.ai/docs/reference/commands/refresh.md): Reload the current page. - [switchTab](https://momentic.ai/docs/reference/commands/switch-tab.md): Switch the active tab by index, URL substring, or URL regex. - [wait](https://momentic.ai/docs/reference/commands/wait.md): Pause execution for a fixed duration in milliseconds. - [waitForUrl](https://momentic.ai/docs/reference/commands/wait-for-url.md): Wait until the page URL matches a substring, glob, regex, or domain. - [waitForUrlNotToMatch](https://momentic.ai/docs/reference/commands/wait-for-url-not-to-match.md): Wait until the page URL stops matching a substring, glob, regex, or domain. - [checkPageContains](https://momentic.ai/docs/reference/commands/check-page-contains.md): Assert that the visible page text contains a substring. - [checkPageDoesNotContain](https://momentic.ai/docs/reference/commands/check-page-does-not-contain.md): Assert that the visible page text does NOT contain a substring. - [checkElement](https://momentic.ai/docs/reference/commands/check-element.md): Element-level assertion family for the element itself. - [checkElementAttribute](https://momentic.ai/docs/reference/commands/check-element-attribute.md): Element-level assertion family for an HTML attribute on the element. - [checkElementContent](https://momentic.ai/docs/reference/commands/check-element-content.md): Element-level assertion family for the element's text content. - [checkElementName](https://momentic.ai/docs/reference/commands/check-element-name.md): Element-level assertion family for the element's tag name. - [checkElementStyle](https://momentic.ai/docs/reference/commands/check-element-style.md): Element-level assertion family for a computed CSS style on the element. - [awaitListener](https://momentic.ai/docs/reference/commands/await-listener.md): Block until a previously registered listener captures a request. - [getRecordedRequests](https://momentic.ai/docs/reference/commands/get-recorded-requests.md): Retrieve the list of requests captured by `recordRequests`. - [graphqlRequest](https://momentic.ai/docs/reference/commands/graphql-request.md): Make a server-side GraphQL request and capture the response. - [header](https://momentic.ai/docs/reference/commands/header.md): Set an HTTP request header on outgoing requests. - [mock](https://momentic.ai/docs/reference/commands/mock.md): Intercept a network route and return a custom response. - [recordRequests](https://momentic.ai/docs/reference/commands/record-requests.md): Start recording every request that matches a URL pattern. - [registerRequestListener](https://momentic.ai/docs/reference/commands/register-request-listener.md): Start listening for requests that match a URL pattern. - [removeRouteMock](https://momentic.ai/docs/reference/commands/remove-route-mock.md): Remove a previously installed route mock by key. - [request](https://momentic.ai/docs/reference/commands/request.md): Make an out-of-band HTTP request and capture the response. - [cookie](https://momentic.ai/docs/reference/commands/cookie.md): Set a browser cookie via a `name=value` string. - [localStorage](https://momentic.ai/docs/reference/commands/local-storage.md): Write a key/value pair into `window.localStorage`. - [authLoad](https://momentic.ai/docs/reference/commands/auth-load.md): Restore browser auth state from a Playwright storage-state file. - [authSave](https://momentic.ai/docs/reference/commands/auth-save.md): Save the current browser auth state to a Playwright storage-state file. - [captcha](https://momentic.ai/docs/reference/commands/captcha.md): Solve a captcha challenge on the current page. - [dialog](https://momentic.ai/docs/reference/commands/dialog.md): Auto-handle the next browser dialog (alert/confirm/prompt). - [visualDiff](https://momentic.ai/docs/reference/commands/visual-diff.md): Compare a viewport or element screenshot against a golden file. - [offline](https://momentic.ai/docs/reference/commands/offline.md): Put the browser into offline mode. - [online](https://momentic.ai/docs/reference/commands/online.md): Restore the browser's network connection. - [javascript](https://momentic.ai/docs/reference/commands/javascript.md): Run arbitrary JavaScript inside the test runtime. - [if](https://momentic.ai/docs/reference/commands/if.md): Run a block of steps only when a condition holds. - [module](https://momentic.ai/docs/reference/commands/module.md): Invoke a reusable module of steps. - [Mobile commands](https://momentic.ai/docs/reference/mobile-commands/index.md): The mobile command set for Momentic iOS and Android tests, covering taps, swipes, device buttons, and app lifecycle. - [act](https://momentic.ai/docs/reference/mobile-commands/act.md): Let the AI agent accomplish a goal autonomously. - [assert](https://momentic.ai/docs/reference/mobile-commands/assert.md): Assert a condition about the screen using the AI agent. - [assertVisually](https://momentic.ai/docs/reference/mobile-commands/assert-visually.md): Run an AI assertion about the screen using a screenshot only. - [extract](https://momentic.ai/docs/reference/mobile-commands/extract.md): Extract structured data from the screen. - [tap](https://momentic.ai/docs/reference/mobile-commands/tap.md): Tap an element identified by description or percent-pair coordinates. - [type](https://momentic.ai/docs/reference/mobile-commands/type.md): Type text, optionally into a specific field. - [swipe](https://momentic.ai/docs/reference/mobile-commands/swipe.md): Swipe in a direction, optionally within a scroll container. - [scrollTo](https://momentic.ai/docs/reference/mobile-commands/scroll-to.md): Scroll until a target element is on screen. - [dragAndDrop](https://momentic.ai/docs/reference/mobile-commands/drag-and-drop.md): Drag one element onto another. - [press](https://momentic.ai/docs/reference/mobile-commands/press.md): Press a physical device button. - [pressKey](https://momentic.ai/docs/reference/mobile-commands/press-key.md): Press a software keyboard key. - [rotate](https://momentic.ai/docs/reference/mobile-commands/rotate.md): Rotate the device orientation. - [toggleSettings](https://momentic.ai/docs/reference/mobile-commands/toggle-settings.md): Toggle an Android system setting. - [openNotifications](https://momentic.ai/docs/reference/mobile-commands/open-notifications.md): Open the Android notification drawer. - [openApp](https://momentic.ai/docs/reference/mobile-commands/open-app.md): Launch an app by its package or bundle identifier. - [killApp](https://momentic.ai/docs/reference/mobile-commands/kill-app.md): Force-stop the app under test. - [installApp](https://momentic.ai/docs/reference/mobile-commands/install-app.md): Install an app from a file path. - [uninstallApp](https://momentic.ai/docs/reference/mobile-commands/uninstall-app.md): Uninstall an app by its package name. - [checkScreenContains](https://momentic.ai/docs/reference/mobile-commands/check-screen-contains.md): Assert that text is present anywhere on the screen. - [checkScreenDoesNotContain](https://momentic.ai/docs/reference/mobile-commands/check-screen-does-not-contain.md): Assert that text is absent from the screen. - [checkElement](https://momentic.ai/docs/reference/mobile-commands/check-element.md): Element-level assertion family for the element itself. - [checkElementAttribute](https://momentic.ai/docs/reference/mobile-commands/check-element-attribute.md): Element-level assertion family for an attribute on the element. - [checkElementContent](https://momentic.ai/docs/reference/mobile-commands/check-element-content.md): Element-level assertion family for the element's text content. - [checkElementName](https://momentic.ai/docs/reference/mobile-commands/check-element-name.md): Element-level assertion family for the element's type name. - [checkElementStyle](https://momentic.ai/docs/reference/mobile-commands/check-element-style.md): Element-level assertion family for a computed style on the element. - [visualDiff](https://momentic.ai/docs/reference/mobile-commands/visual-diff.md): Compare a full-screen screenshot against a golden image. - [request](https://momentic.ai/docs/reference/mobile-commands/request.md): Issue an HTTP request from the test. - [javascript](https://momentic.ai/docs/reference/mobile-commands/javascript.md): Run a JavaScript snippet during the test. - [adb](https://momentic.ai/docs/reference/mobile-commands/adb.md): Run an adb command against the device. - [appium](https://momentic.ai/docs/reference/mobile-commands/appium.md): Execute an Appium script against the device. - [addFile](https://momentic.ai/docs/reference/mobile-commands/add-file.md): Push a file onto the device. - [wait](https://momentic.ai/docs/reference/mobile-commands/wait.md): Pause execution for a fixed duration in milliseconds. - [if](https://momentic.ai/docs/reference/mobile-commands/if.md): Run steps conditionally based on an assertion. - [module](https://momentic.ai/docs/reference/mobile-commands/module.md): Invoke a reusable module file. - [debugState](https://momentic.ai/docs/reference/mobile-commands/debug-state.md): Capture device state for debugging. - [API reference](https://momentic.ai/docs/api-reference/overview.md): Reference for Momentic's external analytics endpoints. - [List runs](https://momentic.ai/docs/api-reference/analytics/list-runs.md): List completed runs with filters and pagination. - [List run groups](https://momentic.ai/docs/api-reference/analytics/list-run-groups.md): List completed run groups with filters and pagination. - [Product updates](https://momentic.ai/docs/changelog.md): New updates and improvements ## OpenAPI Specs - [openapi](https://momentic.ai/docs/api-reference/openapi.json)