Skip to content

Supported platforms ​

Check which macOS versions, devices, and platforms Astra Scout supports.

Host ​

Astra Scout runs on macOS 14 or later, on Apple silicon or Intel. Building the app and some device features need Xcode.

Target devices ​

TargetSupportedNotes
iOS SimulatorYesNeeds Xcode and an iOS runtime. Screen mirroring in the app through Xcode's SimulatorKit.
Real iPhoneYesWebDriverAgent must be signed with an Apple Development team.
Android emulatorYesNeeds Android Studio SDK and an AVD.
Real Android deviceYesNeeds USB debugging enabled and authorized.
Web browserNoThere is no web test backend yet, and the web options are hidden in the UI.
Windows or Linux hostNoThe app targets macOS.

iOS details ​

  • Flows run through WebDriverAgent (WDA).
  • With Xcode 27 and iOS 27, taps and drags on the mirror go straight to the iPhone through the devicehid tool, giving near-instant response. Without it, gestures replay through WDA after you release the mouse. The Intel (x64) DMG does not include devicehid.
  • clearState uninstalls and reinstalls the app. On a real iPhone it needs an .ipa or an iPhone-build .app on your Mac. See Devices.

Android details ​

  • Flows run through maestro-runner's DeviceLab driver, so evalWebViewScript and runWebViewScript work on Android.
  • The Android SDK is found through ANDROID_HOME, ANDROID_SDK_ROOT or ~/Library/Android/sdk, or you can set the path in Settings → Emulators.

Commands that depend on the platform ​

Astra Scout only accepts maestro-runner commands that run on the connected device's platform, plus the three AI commands (assertWithAI, assertNoDefectsWithAI, extractTextWithAI). Commands that cannot run on the connected device, such as travel on iOS or acceptAlert on Android, are:

  • struck through in the editor suggestions,
  • underlined in red in the file,
  • rejected when the AI writes a flow, and through the MCP validate_flow and save_flow tools, with a suggested replacement.

If no device is connected, a command missing on only one platform is shown as a warning. Commands inside a block that only runs on the other platform are not rejected, for example runFlow with when: platform: iOS.