You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`logs()`| Fetch recent simulator or Android log entries. |
47
49
|`tree()`| Fetch an accessibility hierarchy. |
48
50
|`query()`| Return compact matches for a selector. |
49
51
|`waitFor()`| Poll until a selector appears. |
@@ -56,7 +58,9 @@ Selectors can match `id`, `label`, `value`, or `type`. Query options accept `sou
56
58
57
59
## Repository Integration Suite
58
60
59
-
The repo includes a macOS-only integration runner that creates a temporary simulator, builds and installs a small UIKit fixture app, then sweeps the CLI and REST control surface.
61
+
The repo includes simulator-backed integration runners. The iOS runner is
62
+
macOS-only; it creates a temporary simulator, builds and installs a small UIKit
63
+
fixture app, then sweeps the CLI and REST control surface.
60
64
61
65
```sh
62
66
npm run build:cli
@@ -93,6 +97,31 @@ does not exceed the active `iphonesimulator` SDK version, falling back to the
93
97
same major version when needed. This keeps CI off newer installed runtimes that
94
98
do not match the selected Xcode toolchain.
95
99
100
+
Android coverage is opt-in because it requires a locally installed Android SDK
101
+
and at least one existing AVD. It runs on macOS or Linux. On Linux, SimDeck
102
+
builds the daemon with a native iOS stub and leaves the Android bridge active.
103
+
The runner starts an isolated SimDeck daemon and sweeps the Android CLI and
104
+
`simdeck/test` surface for lifecycle, tree, screenshot, pasteboard behavior,
105
+
app launch, URL opening, touch/swipe/gesture, keyboard, system buttons,
106
+
rotation, appearance, logs, and batch controls:
107
+
108
+
```sh
109
+
npm run build:cli
110
+
npm run build:simdeck-test
111
+
npm run test:integration:android
112
+
```
113
+
114
+
Set `SIMDECK_INTEGRATION_ANDROID_AVD=<avd-name>` to pick a specific AVD. The
115
+
runner expects that emulator to already be booted, which is how the Linux CI job
116
+
uses `reactivecircus/android-emulator-runner`. If no AVD is configured, or a
117
+
local AVD exists but is not running, the Android runner prints a skip message
118
+
and exits successfully. Set `SIMDECK_INTEGRATION_REQUIRE_RUNNING_ANDROID=1` to
119
+
turn that skip into a failure. Set `SIMDECK_INTEGRATION_BOOT_ANDROID=1` to let
120
+
SimDeck cold-boot a local AVD before the suite. Set
121
+
`SIMDECK_INTEGRATION_KEEP_ANDROID=1` to leave an emulator booted when the runner
122
+
started it. Set `SIMDECK_INTEGRATION_STEP_TIMEOUT_MS` to override the per-step
123
+
timeout.
124
+
96
125
## Stress and Leak Checks
97
126
98
127
Use the stress runner against an already-running daemon when you want to shake out
0 commit comments