Agentic end-to-end testing for real apps.Define missions, test like a user.
Write user journeys in plain English. Testronaut uses AI agents and Playwright to execute them in real browsers and produce actionable test reports.
npm install -g testronautWhy Testronaut
Agentic testing for complete user journeys, powered by AI reasoning and Playwright.
Plain-English missions
Define flows in natural language or lightweight JS. Fewer brittle selectors, more productivity.
Deterministic tool use
Guided actions via Playwright + structured DOM context. Less flakiness, clearer failures.
Mission Control reports
Visualize pass/fail, tokens, and screenshots across suites. Upload from CI with one command.
Agentic Testing
What is agentic end-to-end testing?
Traditional end-to-end tests follow a predefined sequence of selectors and assertions. Agentic end-to-end testing gives an AI agent a user goal and the context it needs to reason about the interface, choose actions, and adapt as the journey unfolds.
Testronaut combines that reasoning with Playwright browser automation so missions can exercise real user journeys while still producing repeatable, inspectable test reports.
Explore agentic testing research and guides →Bring your own LLM
Use your own API key. Choose your preferred provider below — Testronaut adapts automatically.
OpenAI
- • GPT-5.6 Sol (default)
- • GPT-5.6 Terra / Luna
- • GPT-5.5
- • Legacy GPT / o-series models
Google Gemini
- • Gemini 2.5 Pro
- • Gemini 2.5 Flash
- • Gemini 2.5 Flash-8B
- • Gemini 3.0 Pro
Anthropic Claude
- • Claude Sonnet 5
- • Claude Opus 5
- • Claude Haiku 4.5
- • Native tool and vision support
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:
testronaut login.mission.js
//Report:
testronaut uploadSee it in action
Review an example Mission Control report walkthrough.
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.