diff --git a/docs/manual/introduction.md b/docs/manual/introduction.md index fc8c478..52e4d75 100644 --- a/docs/manual/introduction.md +++ b/docs/manual/introduction.md @@ -74,8 +74,8 @@ The loop runs until the duration you set elapses. Every step is written to a tra | Platform | How sanderling drives the app | |---|---| -| Android | A native sidecar reads the UI through UIAutomator and injects input. Works on emulators and devices. | -| iOS | A native sidecar reads the UI through XCTest and injects input. Works on simulators. | +| Android | A JVM sidecar reads the UI from an on-device accessibility service and injects input. Works on emulators and devices. | +| iOS | An XCTest runner inside the simulator or device reads the UI and types; on the simulator a bundled idb_companion adds gestures and screenshots. No JVM. Works on simulators and devices. | | Web | Chrome, driven directly over the Chrome DevTools Protocol. No sidecar. | Kotlin Multiplatform apps need nothing special: the Android build is tested through the Android driver and the iOS build through the iOS driver. diff --git a/docs/manual/runs.md b/docs/manual/runs.md index 847c0d1..ba48b52 100644 --- a/docs/manual/runs.md +++ b/docs/manual/runs.md @@ -14,7 +14,7 @@ A run is not a unit test. The closer picture is: boot a fuzzer for an hour and s sanderling test --spec spec.ts --bundle-id com.example.app --duration 30m │ ├── launch the app under test (wipes app data first unless --clear-data=false) - ├── boot the sidecar (or connect to Chrome on web) + ├── boot the driver (the JVM sidecar on Android, the XCTest runner on iOS, Chrome on web) ├── bundle the spec, load it into the JS runtime │ ├── step 0..N: read state, check properties, pick and perform an action