simulator-tester
Automated simulator testing with visual verification for closed-loop debugging.
How to Use This Agent
Natural language (automatic triggering):
- "Can you test my app with location simulation?"
- "Take a screenshot to verify this fix"
- "Check if the push notification handling works"
- "Navigate to Settings and take a screenshot"
- "Record a video of the app running"
- "Test my app's permission dialogs"
Explicit command:
bash
/axiom:test-simulatorWhat It Does
Testing Capabilities
- Screenshot capture — Visual verification and debugging
- Video recording — Capture complex workflows
- Location simulation — Test GPS-based features
- Push notifications — Test notification handling without a server
- Permission management — Grant/revoke permissions programmatically
- Deep link navigation — Navigate to specific screens
- App lifecycle — Launch, terminate, install apps
- Status bar override — Clean screenshots for documentation
- Log analysis — Monitor console for crashes/errors
Test Scenarios Fixed
- Visual verification → Screenshot capture + Claude analysis
- Location testing → Set coordinates + grant permission
- Push notifications → Send test payload + capture result
- Permission flows → Reset + grant + verify state
- Crash reproduction → Navigate + log capture + analysis
How It Works
Core Principle: The simulator is a verification mechanism for closed-loop debugging.
Workflow:
- Check simulator state (boot if needed)
- Set up test scenario (location, permissions, etc.)
- Capture evidence (screenshots, video, logs)
- Analyze results (Claude is multimodal!)
- Report findings with clear pass/fail
Time savings: 60-75% faster iteration on visual bugs
Example Usage
Screenshot Verification
bash
# User: "Take a screenshot to verify the login button fix"
# Agent automatically:
1. Checks if simulator is booted
2. Boots iPhone 16 Pro if needed
3. Navigates to login screen (if deep link available)
4. Waits for UI to render
5. Captures screenshot
6. Analyzes image: "The login button appears centered and properly sized"Location Testing
bash
# User: "Test my app with location set to San Francisco"
# Agent automatically:
1. Sets location: xcrun simctl location booted set 37.7749 -122.4194
2. Grants location permission: xcrun simctl privacy booted grant location-always <bundle-id>
3. Launches app
4. Takes screenshot of map view
5. Verifies location marker appears at SF coordinatesPush Notification Testing
bash
# User: "Send a test push notification and screenshot the result"
# Agent automatically:
1. Creates test payload JSON
2. Sends push: xcrun simctl push booted <bundle-id> payload.json
3. Waits for notification to appear
4. Captures screenshot showing notification
5. Checks logs for notification handlingKey Features
Visual Verification
- Claude can read screenshots (multimodal analysis)
- Before/after comparison for fixes
- UI state verification
- Error message capture
Test Automation
- Programmatic navigation via deep links
- Automated test scenario setup
- Background process management
- Log capture and analysis
Integration
- Works with
/axiom:screenshotfor quick captures - Integrates with
deep-link-debuggingskill for navigation - Referenced in enhanced debugging skills
Common Scenarios
| Scenario | Capabilities Used |
|---|---|
| Visual bug fix | Screenshot + navigation + analysis |
| Location feature | Location simulation + permissions |
| Push handling | Push notification + log capture |
| Permission dialog | Permission management + screenshot |
| Crash reproduction | App lifecycle + log capture |
| App Store screenshots | Status bar override + navigation |
Requirements
- Xcode with iOS Simulator installed
- App built for simulator
- Optionally: Deep links for navigation (see
deep-link-debuggingskill)
Related Tools
/axiom:screenshot— Quick screenshot capture without full testingdeep-link-debuggingskill — Add debug-only deep links for navigationxcode-debuggingskill — Environment-first debuggingswiftui-debuggingskill — SwiftUI-specific debugging with simulator verificationmemory-debuggingskill — Memory leak detection with visual verification
Real-World Impact
Before: Make fix → rebuild → manually navigate 5 screens → visually check → 3 minutes After: Make fix → rebuild → agent navigates + screenshots → Claude verifies → 1 minute
Key insight: Automated visual verification enables closed-loop debugging.