Write Missions
Each .mission.js or .mission.ts file exports an executeMission function and invokes runMissions. Testronaut loads ESM-style mission syntax independently of the host project, so package.json does not need "type": "module".
Tagging missions and reports
Tags organize missions, select what the CLI runs, and filter uploaded reports. Tags are lowercase and may contain letters, numbers, hyphens, and underscores. Spaces are not allowed. A tag may contain up to 40 characters, and a mission may have up to 50 tags.
Choosing a Model (OpenAI)
Testronaut supports multiple OpenAI models for agentic (tool-using) workflows.
Choosing a Model (Gemini)
Testronaut supports Google Gemini 2.5 models for agentic (tool-using) workflows.
Choosing a Model (Anthropic Claude)
Testronaut supports Anthropic Claude models for agentic browser workflows, including native tool calls and screenshots.
Chain Missions
Use runMissions to sequence flows, control parallelism, and share memory/env.
Run in CI (GitHub Actions)
Setting up Github Actions to run Testronaut! Perfect for catching issues early on pull requests or deployments.
CLI Login / Auth
A) Browser login
Blastoff workspace API keys
Workspace API keys connect the Testronaut CLI to one Blastoff workspace. Reports,
Uploads and Downloads
Testronaut supports tests that require uploading/downloading files. Files that are used in tests will be in the following director by default:
Upload Reports
After a run, the configured outputDir contains run.json, its HTML report, and any screenshots under screenshots/run/.
Serve (and View)
Serve the latest HTML report over http and open it in your default browser.
Use the Mission Control dashboard
Mission Control collects uploaded Testronaut reports so you can review runs, compare trends, and find failures without opening local report files individually.
Usage & Costs
Testronaut itself is free to run β but it uses your own LLM API key behind the scenes.
Turn Limits and Overrides
When Testronaut runs a mission, it interacts with the browser and the LLM in turns β one step of reasoning or action per turn.
Exploratory Testing Mode
Exploratory Mode lets you give Testronaut minimal guidance (just a starting point) and allow it to explore your app freely across many turns.
Automated MFA Codes
Testronaut can retrieve stored TOTP MFA codes from the Testronaut API during a mission. This lets the agent complete supported MFA challenges without pausing for manual input.
Human Input (MFA & Verification Codes)
Some flows require short codes that the agent cannot retrieve on its own β TOTP one-time passwords, SMS codes, and emailed verification links. Testronaut supports these with a built-in human input pause that halts the agent, prompts you in the terminal, and resumes once you supply the code.