Engineering
axe avatar

axe

Provides agent-ready AXe CLI guidance for iOS Simulator automation, including touch, gestures, text input, hardware buttons, accessibility inspection, video recording, and batch workflow execution.

Introduction

AXe is a professional-grade command-line interface designed for comprehensive automation of iOS Simulators using Apple's native Accessibility APIs and Human Interface Device (HID) events. This skill allows agents to programmatically control the simulator environment, making it an essential tool for automated UI testing, accessibility auditing, and complex interaction scripting. It enables developers and QA engineers to simulate real user behavior across various iOS device configurations without manual intervention, facilitating rapid iteration and regression testing.

  • Precise touch control including coordinates-based taps, swipes, and multi-touch gestures.

  • Advanced text input management supporting direct typing, stdin, and file-based injection with automatic shift key handling.

  • Hardware button emulation for Home, Lock, Side, Siri, and Apple Pay buttons.

  • Deep accessibility integration to extract UI component hierarchy, identifiers, and labels via the describe-ui command.

  • Efficient batch processing functionality, allowing multiple interaction steps to be chained into a single execution turn to reduce latency and overhead.

  • Multimedia capabilities including high-quality PNG screenshot capture and H.264 MP4 video recording.

  • Configurable timing controls, including pre-delay and post-delay, for handling animations and UI state transitions effectively.

  • Always identify your target device using axe list-simulators and ensure all HID commands use the --udid flag.

  • Prefer selector-based interactions (--id or --label) over raw coordinates to maintain robustness across different screen sizes and UI layouts.

  • Utilize the --wait-timeout flag during batch processing to account for application loading times and network-dependent view transitions.

  • Verification is crucial; follow interaction steps with describe-ui or screenshot to confirm the desired app state, as HID events are fire-and-forget.

  • If shell-sensitive characters are required in text input, favor the --stdin or --file arguments to prevent command injection or parsing errors.

  • For complex workflows, leverage batch chaining to execute sequences sequentially, ensuring each step resolves before the next begins.

Repository Stats

Stars
1,849
Forks
71
Open Issues
9
Language
Swift
Default Branch
main
Sync Status
Idle
Last Synced
May 1, 2026, 08:38 AM
View on GitHub