Skip to content

Latest commit

 

History

History
102 lines (59 loc) · 5.46 KB

File metadata and controls

102 lines (59 loc) · 5.46 KB

Changelog

All notable changes to the AXe iOS testing framework will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[v1.7.1] - 2026-06-02

Added

  • Added AxePlayground alert, sheet, context menu, modal navigation, and long-scroll fixtures for UI automation regression coverage.

[v1.7.0] - 2026-05-11

Added

  • Added axe slider --id/--label --value 0...100 for selector-based slider setting with orientation-aware HID dragging and AXValue tolerance verification/failure reporting.
  • Added axe drag --start-x/--start-y --end-x/--end-y for raw point-to-point low-level HID drag validation using explicit touch move events.

Changed

  • Changed axe slider to use the shared composite low-level HID drag path with AXValue tolerance verification instead of retrying with correction gestures.

Fixed

  • Fixed describe-ui and selector-based tap --label exposing and activating real SwiftUI TabView tab items, navigation search fields, toolbar segmented picker items, and generated navigation back buttons from the CoreSimulator accessibility bridge. Also fixed selector decoding when the accessibility tree contains numeric AXValue fields such as sliders.
  • Fixed tap, touch, swipe, and matching batch steps dispatching logical UI coordinates directly to FBSimulatorHIDEvent without landscape rotation or letterbox correction, causing interactions to land in the wrong location in rotated landscape simulators and portrait-hardware landscape-only apps. AXe now detects the simulator UI orientation automatically instead of requiring callers to pass landscape flags (#5 by @Nitewriter)
  • Fixed selector-based tap and batch tap steps so UIKit UISwitch and SwiftUI Toggle controls can be activated reliably, including when a matched row or label contains a single switch/toggle control. Added --tap-style so switch/toggle taps can use physical touch automatically while normal taps keep the simulator tapAt path by default (#46).
  • Fixed element comparison in AccessibilityTargetResolver to prevent distinct elements with the same type and frame but lacking labels/values from being incorrectly identified as identical during ancestor tree traversal.

[v1.6.0] - 2026-04-05

Added

  • Added --value targeting for tap, allowing elements to be matched by their accessibility value in addition to --id and --label. Added --element-type filtering to narrow matches by element type (e.g., button, text field) (#40 by @andresdefi).
  • Added --wait-timeout and --poll-interval options to tap for waiting until a matching element appears before tapping (#40 by @andresdefi).

Fixed

  • Fixed describe-ui to expose and implement the documented --point option in command help and runtime behavior (#38)

[v1.5.0] - 2026-03-04

Added

  • Added batch command for executing ordered multi-step interaction workflows in a single invocation, with sequential execution that supports multi-screen flows, built-in sleep delays, accessibility caching, and configurable text submission strategies (#25). See BATCHING.md.
  • Added axe init command to install, uninstall, or print the AXe skill for AI clients (claude, agents) or a custom destination (#25).

Fixed

  • Fixed Homebrew installation on Intel Macs by producing architecture-specific release artifacts (#27, #21)
  • Fixed tap --label resolving ambiguous matches by preferring actionable elements over read-only ones (#28)

[v1.4.0] - 2026-02-08

Added

  • AxePlayground Touch Control now shows long-press count and last long-press coordinates, making gesture automation easier to validate.

Fixed

  • Improved long-press reliability for axe touch: --down --up --delay now consistently behaves like a real press-and-hold gesture.

[v1.3.0] - 2026-01-28

  • Add key-combo command for atomic modifier+key presses (e.g., Cmd+A, Cmd+Shift+Z) Thanks to @jpsim for the contribution!

[v1.2.0] - 2025-12-19

-Add support for screenshot capture to PNG -Add tap by label or accessibility id in addition to existing x/y coordinates -Fix FBProcess duplication warnings

Special thanks to @aliceisjustplaying and @onevcat for their execellent contributions!

[v1.1.1] - 2025-09-22

-Pin IDB version to address access control issues on new versions

[v1.1.0] - 2025-09-21

  • Add support for streaming and video capture (thanks to @pepicrft for the contribution!)

[v1.0.0] - 2025-06-01

  • Initial release of AXe
  • Complete CLI tool for iOS Simulator automation
  • Support for tap, swipe, type, key, touch, button, and gesture commands
  • Built on Meta's idb frameworks with Swift async/await
  • Comprehensive test suite with AxePlaygroundApp
  • Gesture presets and timing controls
  • Accessibility API integration

[v0.1.1] - 2025-09-21

  • README updates

[v0.1.0] - 2025-05-27

  • Initial release of AXe