Local testing infrastructure for Autosana — mobile and web
Project description
Autosana CLI
Connect local simulators, emulators, and dev servers to Autosana to test locally.
Install
pipx install autosana
Or with uv:
uv tool install autosana
Quick Start
# Check prerequisites
autosana doctor
# Auto-install Node.js + Appium + cloudflared
autosana doctor --fix
# Start local session (iOS)
autosana up --platform ios
# Start local session (web — point to your dev server, http or https)
# The scheme (http vs https) is auto-detected. HTTPS dev servers like
# `next dev --experimental-https` and `vite --https` work out of the box.
autosana up --platform web --port 3000
# Multi-device — start sessions for all booted simulators
autosana up --platform ios --all-devices --detach --json
# Or start specific devices by name/UDID
autosana up --platform ios --device "iPhone 16 Pro" --detach --json
autosana up --platform ios --device "iPhone 17 Pro" --detach --json
# Check running sessions (includes device responsiveness checks)
autosana status
# Stop all sessions
autosana down --all
Multi-Device Parallel Testing
Test across multiple simulators simultaneously:
- Boot multiple iOS Simulators or Android Emulators
- Run
autosana up --platform ios --all-devices --detach --jsonto start sessions for all devices - Your coding agent dispatches flows to different devices in parallel via
device_tunnel_map - All flows execute simultaneously — 3 devices = 3x faster
Works with both iOS and Android. Each device gets its own Appium server and Cloudflare tunnel.
Device Health Checks
autosana up and autosana status verify that devices are actually responsive — not just listed by ADB/simctl:
- Android: runs
adb shell echo okwith a 5s timeout to detect zombie emulators - iOS: runs
xcrun simctl getenvwith a 5s timeout to detect frozen simulators - Web: probes
http://127.0.0.1:<port>andhttps://127.0.0.1:<port>in parallel (3 attempts with backoff, to cover dev servers still booting). The responding scheme is used for the Cloudflare tunnel origin, preferring https on tie. HTTPS origins skip TLS verification on loopback — self-signed certs from mkcert,next dev --experimental-https, andvite --httpsjust work. Verification is intentionally disabled here because the cloudflared origin is127.0.0.1(no MITM surface); to lock cloudflared back into strict verification with a trusted CA, you'd run cloudflared yourself instead of viaautosana up.
If a mobile device is unresponsive, autosana up fast-fails before wasting time on Appium/tunnel setup. autosana status --json reports device_responsive: false with an actionable issue message.
The detected scheme is reported in autosana up --json as scheme: "http" or scheme: "https".
Requirements
- iOS: macOS with one or more booted iOS Simulators
- Android: macOS, Linux, or Windows with one or more booted Android Emulators
- Web: a local dev server running on any OS
- An Autosana account
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autosana-0.5.1.tar.gz.
File metadata
- Download URL: autosana-0.5.1.tar.gz
- Upload date:
- Size: 41.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a565ebdc4afc1dbb01e210c8b4342dd50ffa282b0e823eeebddd7c91f30d0613
|
|
| MD5 |
8ecbee2e603ad1a2ea55c7a3beba37b9
|
|
| BLAKE2b-256 |
c7fe20b29cb24cd4864ef291e7d45662e682918774fd7560542a36fe51a52892
|
Provenance
The following attestation bundles were made for autosana-0.5.1.tar.gz:
Publisher:
publish-cli.yml on Autosana/AutosanaBackend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autosana-0.5.1.tar.gz -
Subject digest:
a565ebdc4afc1dbb01e210c8b4342dd50ffa282b0e823eeebddd7c91f30d0613 - Sigstore transparency entry: 1387002616
- Sigstore integration time:
-
Permalink:
Autosana/AutosanaBackend@48c23170903c3a1954fb75d82aaf2c49e7fb98f7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Autosana
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-cli.yml@48c23170903c3a1954fb75d82aaf2c49e7fb98f7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file autosana-0.5.1-py3-none-any.whl.
File metadata
- Download URL: autosana-0.5.1-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9cb57237f48ab23708670f613fb885dd433ad3aef316a9dc8f209e7df00f213
|
|
| MD5 |
78388f740c5dbe6ca2c2aaf0c0b11b1e
|
|
| BLAKE2b-256 |
158d8d18d670add5beb4e88b6111e59e8ec0e4c321547542214549ab080a162e
|
Provenance
The following attestation bundles were made for autosana-0.5.1-py3-none-any.whl:
Publisher:
publish-cli.yml on Autosana/AutosanaBackend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autosana-0.5.1-py3-none-any.whl -
Subject digest:
b9cb57237f48ab23708670f613fb885dd433ad3aef316a9dc8f209e7df00f213 - Sigstore transparency entry: 1387002778
- Sigstore integration time:
-
Permalink:
Autosana/AutosanaBackend@48c23170903c3a1954fb75d82aaf2c49e7fb98f7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Autosana
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-cli.yml@48c23170903c3a1954fb75d82aaf2c49e7fb98f7 -
Trigger Event:
push
-
Statement type: