mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 11:07:10 +00:00
* docs: README covers iOS + web, surface both example apps * docs(cli): document --ios-device and per-platform doctor * docs: tighten README, fold examples into Docs list * docs(runs): correct --clear-data lifecycle wording Default behavior no longer wipes app data between runs; --clear-data is now opt-in. * docs(getting-started): add iOS path, separate folio and folio-web Document just test-ios under examples/folio, and distinguish the KMP sample from the React + Vite folio-web sample. * docs(inspect): document the eight panels Lists Screenshot, ActionList, Timeline, ViolationsPanel, HierarchyPanel, SnapshotTable, MetricsChart, ExceptionsPanel. Cross-links HierarchyPanel to the spec language reference. * docs(writing-specs): document setup export, flag noLogcatErrors as android-only Mirrors pkg/spec/README.md so the manual covers the runner's setup-first fall-through. Marks noLogcatErrors as Android-only so iOS/web spec authors know it silently no-ops. * docs(folio): document web target and iOS sanderling test recipe After the KMP refactor folio also runs on wasmJs and the justfile exposes just web, just web-build, and just test-ios. Surface all three. * docs(folio-web): add README Covers prerequisites, demo credentials, just test recipe, and how the React + Vite host exposes state to the sanderling spec via stable ids and data-* attributes. * docs: scrub driver-implementation name from user docs Drop the implementation tool name from README, cli.md doctor table, and spec-language.md. These docs should describe behaviour, not the specific underlying tool the native sidecar wraps. * docs(development): scrub driver-implementation name from dev docs architecture, design-principles, decisions now describe the native sidecar by role (gRPC surface over OS UI-test pipeline) rather than by the specific tool it wraps.
2.7 KiB
2.7 KiB
title
| title |
|---|
| CLI reference |
CLI reference
sanderling <command> [flags]
sanderling test
Run a spec against an app for a fixed duration.
| Flag | Default | Description |
|---|---|---|
--spec |
required | Path to the TypeScript spec. |
--bundle-id |
required | Target app bundle ID (Android: applicationId). |
--launcher-activity |
resolved | Optional <pkg>/<activity> to launch. Overrides default resolution. |
--platform |
android |
Target platform: android, ios, or web. |
--avd |
optional (android) | Android AVD name to boot if no device is connected. Required only when no device is connected and multiple AVDs exist. |
--ios-device |
optional (ios) | iOS simulator name or UDID to boot if none is running. |
--duration |
5m |
Total test duration (30s, 5m, 2h, 1d). |
--seed |
0 |
PRNG seed. 0 uses a random seed and records it in meta.json. |
--output |
./runs |
Output directory for traces. |
--clear-data |
false |
Clear app data before launching so the run starts from a fresh install. |
sanderling inspect [run-or-runs-dir]
Serve a local web UI for browsing traces. The positional argument is optional and may point at either a runs directory (the parent of many runs) or a single run directory (auto-detected by the presence of meta.json). Defaults to ./runs.
| Flag | Default | Description |
|---|---|---|
--port |
0 (ephemeral) |
TCP port to listen on. |
--no-open |
false |
Skip opening the default browser on startup. |
--dev |
false |
Reverse-proxy non-API requests to the Vite dev server on 127.0.0.1:5173. |
See the inspect UI page for the panel reference and keyboard shortcuts.
sanderling doctor
Check the host environment for a working sanderling setup.
sanderling doctor [--platform web|android|ios|all]
--platform defaults to all, which runs every platform's checks (deduped). Pass a specific platform to scope the output.
| Platform | Checks |
|---|---|
web |
headless Chromium can launch (the bundled CDP surface boots a real browser). |
android |
adb on PATH; emulator on PATH or under ANDROID_HOME; Java 17+; embedded native sidecar JAR is real. |
ios |
xcrun on PATH; simctl on PATH; Java 17+; embedded native sidecar JAR is real. |
sanderling version
Print the CLI version.
Flags coming in v0.1.0
--permissionsto pre-set OS-level permissions (for example--permissions location=allow,notifications=deny).--max-stepshard cap on step count.--exit-on-violationstop the run on the first property violation.
Tracked in issue #4.