Skip to main content

Supported platforms

Argent drives a growing set of targets through a single toolkit, each with the right interaction model.

PlatformTargetsInteraction
iOSSimulators, and physical iPhonesTouch / gesture
AndroidEmulators (AVDs) and physical devices over adbTouch / gesture
TVApple TV (tvOS), Android TV / Google TV, Amazon Fire TV (Vega)D-pad / remote
Desktop & webElectron and Chromium apps (incl. React Native Web / Expo web) over CDPMouse / keyboard
HarmonyOSPhones over hdc, and DevEco Studio emulator instancesTouch / gesture
One agent working across an iOS simulator, an Android emulator and the web build of the same app

Touch targets​

iOS simulators and Android emulators or devices are driven with taps, swipes, pinches, rotations, hardware buttons and typed text. Coordinates always come from a discovery pass over the accessibility or component tree, never from a screenshot.

The same interaction model on a physical Pixel connected over adb

Foldable simulators and emulators​

Argent drives these foldable devices closed, half-open and open:

  • The iPhone Duo simulator.
  • A foldable Android emulator, for example a Pixel Fold or a generic foldable AVD.

The agent folds and unfolds the device with the fold tool. list-devices marks a foldable device with foldable: true. Screenshots, element trees, taps and recordings use the panel that shows the UI. Argent cannot fold a physical Android device. See the tools reference.

Physical iPhones​

Argent also drives a physical iPhone over a USB cable, including pinches, rotations and multi-finger paths in apps drawn in portrait. Physical iPads are not supported yet. Automation on hardware is scoped to one app at a time, and a subset of the simulator tools is available. See Physical iOS devices.

HarmonyOS​

HarmonyOS support is experimental and off by default. Run argent enable harmonyos to turn it on. While the flag is off, list-devices shows no HarmonyOS target and Argent refuses every harmony- id. See Feature flags.

Argent drives any HarmonyOS phone or emulator that hdc is connected to. A phone with USB debugging enabled appears as harmony-<connectKey>. A DevEco Studio emulator instance appears as harmony-emulator-<name>. boot-device starts the instance and returns its harmony-<connectKey> id, so the same tools drive a phone and an emulator.

  • Argent reads the screen and injects taps, swipes and text through the device's own uitest.
  • gesture-pinch sends the start and end points of both fingers in one uinput call. The device interpolates the movement.
  • launch-app, restart-app and open-url use the bm and aa shell commands.
  • reinstall-app installs a single .hap file with hdc uninstall and hdc install.
  • Argent refuses gesture-rotate and gesture-custom. The device moves each contact along one straight line per call.
  • Argent also refuses rotate, the profilers and the debugger. The device has no orientation command, and the profilers and the debugger have no HarmonyOS ingest path.

Huawei restricts the emulator image download to mainland China. Outside mainland China, you cannot create an emulator instance until you get an image.

TV targets​

A TV UI is focus-driven rather than touch-driven. Argent reads which element currently holds focus, then moves the cursor with directional remote presses and confirms with select.

Walking a tvOS app with remote presses, checking focus state at every step

Desktop and web targets​

Electron apps and Chromium browsers exposing the Chrome DevTools Protocol are driven with mouse clicks, wheel scrolling and drags. Argent can also walk the DOM, manage tabs, read and write cookies and storage, and inspect network traffic.

Testing an issue-creation flow in an Electron app over CDP

React Native​

Argent works with React Native apps out of the box, so your agent can build, launch and iterate on a React Native project the same way it would any native app, with no extra setup.