mcpField
A
axe-ios-simulator

axe-ios-simulator

github.com/alleneubankテスト・品質50320 回インストール18 週間前に更新
リポジトリ

axe-ios-simulator について

axe-ios-simulatorは、Apple Accessibility APIとHIDを使ってiOS Simulatorを操作するコマンドラインスキルです。要素指定やジェスチャー、画面記録に対応し、テストや定型操作に利用できます。

主な機能

  1. 01座標・ラベル・識別子でタップ
  2. 02入力やファイルからテキスト入力
  3. 03定義済みタッチジェスチャーの実行
  4. 04シミュレーターのハードウェアボタン操作
  5. 05アクセシビリティツリーの確認とメディア記録

活用シーン

  1. 01フォーム入力と送信の自動化
  2. 02タップやスワイプによる画面遷移
  3. 03テスト中のUI要素確認
  4. 04スクリーンショットや動画の保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alleneubank/claude-code --skill axe-ios-simulator

インストール後、Claude Code で/axe-ios-simulatorを入力して読み込まれたか確認します。

詳細

AXe iOS シミュレーターの自動化

AXe は、Apple のアクセシビリティ API と HID を介して iOS シミュレーターを自動化する、単一バイナリーの CLI です。

インストール

brew install cameroncooke/axe/axe

クイックスタート

# Get simulator UDID
axe list-simulators
UDID="<simulator-udid>"

# Basic interactions
axe tap -x 100 -y 200 --udid $UDID
axe tap --label "Safari" --udid $UDID
axe type 'Hello World!' --udid $UDID
axe gesture scroll-down --udid $UDID
axe button home --udid $UDID
axe screenshot --udid $UDID

タッチとジェスチャー

# Tap at coordinates
axe tap -x 100 -y 200 --udid $UDID

# Tap by accessibility identifier or label
axe tap --id "myButton" --udid $UDID
axe tap --label "Submit" --udid $UDID

# With timing controls
axe tap -x 100 -y 200 --pre-delay 1.0 --post-delay 0.5 --udid $UDID

# Swipe
axe swipe --start-x 100 --start-y 300 --end-x 300 --end-y 100 --udid $UDID
axe swipe --start-x 50 --start-y 500 --end-x 350 --end-y 500 --duration 2.0 --delta 25 --udid $UDID

# Low-level touch control
axe touch -x 150 -y 250 --down --udid $UDID
axe touch -x 150 -y 250 --up --udid $UDID
axe touch -x 150 -y 250 --down --up --delay 1.0 --udid $UDID

ジェスチャーのプリセット

プリセット用途
scroll-upコンテンツの移動
scroll-downコンテンツの移動
scroll-left横方向のスクロール
scroll-right横方向のスクロール
swipe-from-left-edge戻る操作
swipe-from-right-edge進む操作
swipe-from-top-edge閉じる/終了
swipe-from-bottom-edge開く/表示
axe gesture scroll-down --udid $UDID
axe gesture swipe-from-left-edge --udid $UDID
axe gesture scroll-up --screen-width 430 --screen-height 932 --udid $UDID
axe gesture scroll-down --pre-delay 1.0 --post-delay 0.5 --udid $UDID

テキスト入力

# Direct text (use single quotes for special characters)
axe type 'Hello World!' --udid $UDID

# From stdin (best for automation)
echo "Complex text" | axe type --stdin --udid $UDID

# From file
axe type --file input.txt --udid $UDID

# Individual key press by HID keycode
axe key 40 --udid $UDID  # Enter key
axe key 42 --duration 1.0 --udid $UDID  # Hold Backspace

# Key sequence
axe key-sequence --keycodes 11,8,15,15,18 --udid $UDID  # "hello"

ハードウェアボタン

axe button home --udid $UDID
axe button lock --duration 2.0 --udid $UDID
axe button side-button --udid $UDID
axe button siri --udid $UDID
axe button apple-pay --udid $UDID

スクリーンショットと動画

# Screenshot (auto-generates filename)
axe screenshot --udid $UDID

# Screenshot to specific path
axe screenshot --output ~/Desktop/screenshot.png --udid $UDID

# Video recording to MP4
axe record-video --udid $UDID --fps 15 --output recording.mp4
axe record-video --udid $UDID --fps 10 --quality 60 --scale 0.5 --output low-bandwidth.mp4

# Stream MJPEG
axe stream-video --udid $UDID --fps 10 --format mjpeg > stream.mjpeg

# Pipe to ffmpeg
axe stream-video --udid $UDID --fps 30 --format ffmpeg | \
  ffmpeg -f image2pipe -framerate 30 -i - -c:v libx264 -preset ultrafast output.mp4

Ctrl+C を押すと録画を停止します。AXe は MP4 を確定し、パスを標準出力に表示します。

アクセシビリティの検査

# Full screen accessibility tree
axe describe-ui --udid $UDID

# Accessibility info at specific point
axe describe-ui --point 100,200 --udid $UDID

自動化のパターン

待機してからタップするパターン
axe tap --label "Continue" --pre-delay 2.0 --udid $UDID
要素が見つかるまでスクロールする
for i in {1..5}; do
  axe describe-ui --udid $UDID | grep -q "targetElement" && break
  axe gesture scroll-down --udid $UDID
done
axe tap --label "targetElement" --udid $UDID
フォームへの入力
axe tap --label "Email" --udid $UDID
axe type '[email protected]' --udid $UDID
axe tap --label "Password" --udid $UDID
axe type 'secret123' --udid $UDID
axe tap --label "Sign In" --udid $UDID
操作後のスクリーンショット
axe tap --label "Submit" --post-delay 1.0 --udid $UDID
axe screenshot --output result.png --udid $UDID

コメント