Overview
Autonix is a workspace for no-code-style test automation. You describe what to test in plain language, generate structured test plans and TypeScript specs, capture UI with a recorder, and run tests locally or on cloud farms — all inside one project.
When you create a project, choose the platform:
- Web (Playwright) — browser automation, DOM recorder, page objects with CSS/role locators, iframe and shadow DOM support.
- Mobile (Mobilewright) — iOS/Android simulators and devices, accessibility-tree recorder, screen page objects, device pool and cloud hubs.
The typical flow (both platforms):
- Configure your project OpenAI API key and execution settings in Setup.
- Create environments (base URL and browser for web; bundle ID and device for mobile).
- Write requirements and generate test plans.
- Build page objects with the recorder or AI-assisted codegen.
- Generate specs and run them from Test Execution; review reports when finished.
Web vs mobile
Platform is fixed when the project is created. Everything else — requirements, plans, execution, framework zip — follows the same workspace, but the runner, recorder, and on-disk layout differ.
| Topic | Web (Playwright) | Mobile (Mobilewright) |
|---|---|---|
| Test runner | @playwright/test | @mobilewright/test |
| Config file | playwright.config.ts | mobilewright.config.ts |
| Framework folder | frameworks/web/<project-id>/ | frameworks/mobile/<project-id>/ |
| Recorder | Browser — capture DOM, iframes, shadow roots | Device — parse accessibility tree from simulator/emulator |
| Environment | baseURL, browser, headless, timeout | platform, bundleId, deviceName, installApps, … |
| Local runs | Chromium/Firefox/WebKit via Playwright | Booted iOS simulator or Android emulator |
| Cloud runs | BrowserStack, LambdaTest, Sauce Labs, custom hub | Same providers (mobile capabilities) |
| Codegen API | /api/generate/playwright | /api/generate/mobilewright |
Legacy mobile projects may still live under frameworks/<project-id>/ without the mobile/ prefix; new projects use the paths above.
Before you begin
Account access
Registration is invite-only. Your organization admin sends an invite link; use it on the register page, then sign in at login.
OpenAI API key
Test Plans, page objects, and generated specs use each project's OpenAI key — not a shared platform key. After sign-in, open a project → Setup → save your API key before generating anything.
Local test runs
The app writes an isolated framework folder on the machine where the web app runs (see Framework on disk). You need Node.js 20+ and npm.
- Web — Playwright browsers install on first run (
npx playwright installif you run CLI manually). Set a reachablebaseURLin your environment. - Mobile — Boot the iOS simulator or Android emulator that matches your environment (bundle ID, platform). Mobilewright manages the device pool for local runs.
Quick start
- 1
Sign in & create a project
Open the dashboard after login. Click New Project, enter a name, and pick Web (Playwright) or Mobile (Mobilewright). Platform cannot be changed later.
- 2
Setup
In the project workspace, open Setup: save your OpenAI key, choose an execution provider (local, Sauce Labs, BrowserStack, LambdaTest, or custom hub), and create at least one environment — base URL and browser for web, or bundle ID and device settings for mobile.
- 3
Add a requirement
Under Requirements, paste acceptance criteria or user stories. Generate a validated test plan with cases and steps.
- 4
Page Objects
Open Recorder: capture the page or device tree, select elements, and save page object files. For web, you can record in the browser panel; for mobile, connect to a simulator and parse the tree. Review files under Page Objects or Framework.
- 5
Generate & run
In Test Plans, generate Playwright or Mobilewright specs for a suite. Open Test Execution, select spec files, and click Run. Logs stream in the console; use Test Reports for HTML report and history when the run finishes.
Project workspace
Each project has a left navigation rail. Tabs are the same for web and mobile; labels adapt where needed:
- Overview
- Counts and shortcuts to other tabs.
- Setup
- Project OpenAI key, execution provider credentials, and environment definitions (web or mobile JSON).
- Requirements
- Store product intent; generate and manage test plans per requirement.
- Recorder
- Web: browser DOM capture (including iframes and shadow DOM). Mobile: device tree capture and element pick.
- Page Objects
- Browse and edit page object classes from the recorder or test codegen.
- Test Plans
- Browse generated plans, cases, and codegen; trigger spec generation for a suite.
- Test Execution
- Select specs, optional environment override and grep filter, run tests with live logs. Stop, rerun all, or rerun failures.
- Test Reports
- Open the HTML report and browse past runs for the project.
- Framework
- View and download generated files synced to disk (tests, pageobjects, support, config).
Requirements & test plans
Write clear requirements: user flows, edge cases, and expected outcomes. The AI returns a structured plan (suites, cases, steps) validated before it is saved. Step actions differ slightly by platform (for example web supports frame/tab switching; mobile uses tap, swipe, and device-specific actions).
- One requirement can have multiple test plans over time.
- Open a plan to review cases before generating code.
- Generation uses the project OpenAI key from Setup; if missing, you will see an error asking you to configure it.
Page Objects & recorder
Web recorder (Playwright)
Open a URL (or use your environment base URL), capture the DOM, and select elements. Locators are stored in page object classes and resolved via shared webLocator helpers — including nested frame and shadowHost chains when you record inside iframes or shadow DOM.
Mobile recorder (Mobilewright)
Select an environment, capture the accessibility tree from the connected simulator or emulator, pick nodes, and save a screen page object per view. Locators use the shared locate helper in the mobile framework.
Generated tests should call page object methods — not inline locators — so healing and refactors stay localized.
Generate & run tests
Codegen
From Test Plans, generate TypeScript specs that import your page objects and project fixtures. Web projects emit Playwright tests; mobile projects emit Mobilewright tests. Files are written into the project framework folder and synced to disk.
Test Execution
- Pick one or more spec files from the list (or Select All).
- Environment — leave default to use values from
playwright.config.tsormobilewright.config.ts, or pick a specific saved environment. - Optional grep filter (e.g.
@smoke) to run a subset of tests. - Click Run — logs poll until the run passes, fails, or is stopped. Use Rerun all or Rerun failures after a completed run.
- Only one active run per project at a time.
Heal (mobile & web)
After a failed run, you can trigger Heal to send failure context to the model and patch affected spec and page object files on disk, then rerun.
Framework on disk
Each project maps to an isolated folder under the repo's frameworks directory:
- frameworks/web/<project-id>/ — Playwright web projects
- frameworks/mobile/<project-id>/ — Mobilewright mobile projects
Typical contents (both platforms):
- tests/ — generated spec files
- pageobjects/ — page/screen classes
- support/ — fixtures, locate helpers, actions
- playwright.config.ts or mobilewright.config.ts — runner and environment defaults
Download a zip from the Framework tab for CI, or run npm test / npx playwright test inside that folder locally.
Tips & troubleshooting
- Generation fails with 503 — Add or verify the OpenAI API key in Setup for this project.
- No spec files listed — Generate tests first; specs must exist under
tests/. - Run hangs on install — First run installs npm dependencies in the framework folder; watch the live log for progress.
- Web: navigation or timeout errors — Check
baseURLin the environment and that the app is reachable from the runner machine. - Mobile: simulator not found — Boot the correct iOS simulator or Android emulator and align bundle ID / platform in your environment.
- Cloud runs — Configure provider username and access key in Setup; execution writes a generated
.env.executionat run time. - Wrong platform tools — Web projects use Playwright only; mobile projects use Mobilewright. Create a separate project if you need both targets.
Ready to try it?
Sign in with your account, or register with an invite from your admin.