Skip to content

CLI Reference

CommandWhat it does
orbittest run [files]Run tests (all discovered, one file, or one folder).
orbittest initCreate a starter config, tests folder, and example test.
orbittest uiOpen the local dashboard for running tests and browsing reports.
orbittest forge [url]Record a browser flow and generate a test script.
orbittest devicesList connected Android devices.
orbittest doctorDiagnose the environment: Node, browser, ADB, devices.
orbittest clean-reportsRemove old report runs by age and count.

Most day-to-day work uses a handful of these. They are grouped here by what you are trying to do.

FlagDescription
—workers Number of parallel workers (each is a full browser).
—retries Retry count per test. Passing on retry marks the test flaky.
—timeout Test timeout in milliseconds.
FlagDescription
—ciEnable CI mode: hidden browser, summary.json, junit.xml, no report server.
—fail-fastStop scheduling new tests after the first failure.
—max-failures Stop scheduling after N failures; unscheduled tests are reported as skipped.
—shard <n/total>Run a slice of the suite, e.g. 1/4. Pairs with parallel CI jobs.
—github-annotationsEmit GitHub Actions error/warning annotations for failures and flakes.
FlagDescription
—traceCapture a step-by-step trace with screenshots for every test.
—smart-reportCollect browser evidence: console errors, failed and slow requests, navigation.
—stepLive debugging: pause before every action with the Orbit Inspector.
—verbosePrint OrbitTest internal browser/action logs (your console.log always prints).
FlagDescription
—show-browser / —hide-browserForce browser visibility for this run.
—env Activate a named environment from config.
—reports-dir Override the reports output directory.
—no-open-report-on-failureDo not start the local failure report server.
—report-port Fixed port for the failure report server.
FlagDefaultDescription
—dry-runPreview deletions without removing anything. Run this first.
—passed 10How many passed runs to keep.
—failed 30How many failed runs to keep.
—max-age-days 30Remove runs older than N days.
FlagDescription
—port Port for the UI server (default picks one, typically 9323).
—no-openStart the server without opening a browser tab.
—reports-dir Browse a different reports directory.
FlagDescription
—output Write the recorded script to a file. Without it, the script is copied to the clipboard.

Contributors should not have to memorize flags. Encode the common paths once:

{
"scripts": {
"test:e2e": "orbittest run",
"test:e2e:smoke": "orbittest run tests/smoke",
"test:e2e:debug": "orbittest run --step",
"test:e2e:evidence": "orbittest run --trace --smart-report",
"test:e2e:ci": "orbittest run --ci --workers 2"
}
}

package.json scripts for the workflows every team needs.

Put the team’s defaults in orbittest.config.js and use flags for one-off overrides. Flags always win, so an experiment never requires editing the config.

Yes, pass them as arguments: orbittest run tests/login.test.js tests/checkout.test.js, or pass a folder to run everything inside it.

Node version, browser availability, and for mobile setups, the ADB binary and connected devices, with actionable messages for anything broken.

  • Configuration — Every orbittest.config.js option explained: workers, retries, timeouts, browser display, CI behavior, and named environments.
  • CI/CD Integration — CI mode, retries and flaky detection, fail-fast, sharding across jobs, and a complete GitHub Actions workflow.
  • Reports & Diagnostics — HTML, JSON, and JUnit reports, trace timelines, Smart Report browser evidence, step mode, and report cleanup.
  • Environment Variables — ORBITTEST_CHROME_PATH, sharding, CI flags, ADB and device selection, and how to keep secrets out of test files.