工程開發
axe avatar

axe

提供 iOS 模擬器自動化的 AXe CLI 指導,包含觸控、手勢、文字輸入、硬體按鈕模擬、無障礙檢測、影片錄製以及批次工作流執行。

簡介

AXe 是一款專業級的命令列工具,專為使用 Apple 原生無障礙 API 和人機介面裝置 (HID) 事件對 iOS 模擬器進行全面自動化而設計。此技能允許代理程式以程式化方式控制模擬器環境,使其成為自動化 UI 測試、無障礙審計和複雜互動腳本編寫的重要工具。它使開發人員和 QA 工程師無需手動操作即可在各種 iOS 裝置配置中模擬真實使用者行為,從而促進快速迭代和回歸測試。

  • 精確的觸控控制,包括基於座標的點擊、滑動和多點觸控手勢。

  • 進階文字輸入管理,支援直接輸入、標準輸入 (stdin) 和基於檔案的注入,並具備自動處理 Shift 鍵的功能。

  • 硬體按鈕模擬,包含 Home 鍵、鎖定鍵、側邊鍵、Siri 和 Apple Pay 按鈕。

  • 深度無障礙整合,透過 describe-ui 指令提取 UI 元件層級、識別碼 (identifiers) 和標籤 (labels)。

  • 高效的批次處理功能,允許將多個互動步驟連結成單一執行回合,以減少延遲和開銷。

  • 多媒體功能,包括高畫質 PNG 螢幕截圖和 H.264 MP4 影片錄製。

  • 可配置的計時控制,包括預延遲 (pre-delay) 和後延遲 (post-delay),有效處理動畫和 UI 狀態轉換。

  • 請務必使用 axe list-simulators 確認目標裝置,並確保所有 HID 指令皆使用 --udid 旗標。

  • 優先選擇基於選取器的互動 (--id 或 --label) 而非原始座標,以確保跨不同螢幕尺寸和 UI 配置的穩定性。

  • 在批次處理期間使用 --wait-timeout 旗標,以因應應用程式載入時間和網路相關的檢視轉換。

  • 驗證至關重要;在互動步驟後跟隨 describe-ui 或 screenshot 來確認預期的應用程式狀態,因為 HID 事件是「發送即忘」的。

  • 若文字輸入中需要包含對 Shell 敏感的字元,請優先使用 --stdin 或 --file 引數,以防止指令注入或解析錯誤。

  • 對於複雜的工作流,請利用批次連結來順序執行序列,確保每個步驟在下一個步驟開始前完成。

倉庫統計

Star 數
1,849
Fork 數
71
Open Issue 數
9
主要語言
Swift
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月1日 上午08:38
在 GitHub 查看