Autonomous UI testing for real apps.Define missions, ship faster.
Testronaut runs mission-based tests in a real browser using AI. Write tests in plain English, get deterministic actions and human-friendly reports.
npm install -g testronaut
Why Testronaut
Mission-based, resilient, developer-friendly.
Plain-English missions
Define flows in natural language or lightweight JS functions. Fewer brittle selectors, more productivity.
Deterministic tool use
Guided actions via Playwright + structured DOM context. Less flakiness, clearer failures.
Mission Control reports
Upload run reports to visualize pass/fail, timing, and artifacts across suites.
From mission to execution
Write a mission, run it, review the report. That’s it.
- • Write: Define a goal like “Log in and purchase an item”.
- • Run: Testronaut controls a real browser with Playwright.
- • Report: Upload to Mission Control for insights.
//Write:
// missions/login.mission.js
import { runMissions } from 'testronaut';
export const loginMission =
`Visit ${YOUR_SITE_HERE}.
Fill the username field with ${USERNAME}.
Fill the password field with ${PASSWORD}.
Click the Login button.
Wait for the dashboard to appear.
Take a screenshot
Report SUCCESS if the dashboard is loaded,
otherwise report FAILURE.`;
export async function executeMission() {
await runMissions({
mission: loginMission
}, "Login Mission");
}
// Run:
npx testronaut login.mission.js
//Report:
npx testronaut upload
FAQ
How is this different from Playwright/Cypress?
Testronaut uses LLM reasoning + structured DOM to perform steps from plain-English missions, then runs real browsers via Playwright. It aims to reduce brittle selectors and speed up authoring.
Is there a UI?
Yes — Mission Control lets you upload and visualize reports across runs, suites, and teams.
Is it open source?
The CLI is open source. Mission Control is a hosted companion for collaboration and analytics.
Where do I start?
Install the CLI with npm and join Discord for help. See the README for mission examples.