Hacker News Post¶
Title: Show HN: AXTerminator -- macOS GUI testing that runs in the background (Rust + Python)
URL: https://github.com/MikkoParkkola/axterminator
Text (for Show HN comment):
I built AXTerminator because every macOS GUI testing tool steals focus. You start a test suite and can't use your computer until it finishes.
The key insight: macOS AXUIElementPerformAction works on unfocused windows. This is undocumented by Apple, but verified on macOS 12-15. AXTerminator uses this to run tests in the background while you keep working.
Performance (M1 MacBook Pro, macOS 14.2, Criterion benchmarks): - Element access: 379 us (direct AXUIElement via Rust FFI) - Single attribute read: 54 us - Action overhead: 20 us
The speed comes from eliminating HTTP/WebDriver overhead:
AXTerminator: Python -> PyO3 FFI -> Rust -> AXUIElement Appium: Python -> HTTP -> Node.js -> XCTest -> AXUIElement
Other features: - 7 self-healing locator strategies (from data-testid to AI vision) - pytest plugin - MCP server for Claude Code integration - Espresso-style synchronization (XPC for SDK apps, heuristic fallback for all apps)
Inspired by mediar-ai/terminator (Windows GUI automation). This brings similar capabilities to macOS.
pip install axterminator
Source: https://github.com/MikkoParkkola/axterminator Docs: https://mikkoparkkola.github.io/axterminator/