- name
- native_automation
- description
- Apple Native Automation & Testing Skill
- version
- 1.0.0
- domain
- ios-macos
- homepage
- https://github.com/soponcd/timeflow-skills/tree/main/teams/skills/native_automation
- metadata
- clawdbot
- emoji
- 🤖
Native Automation Skill
Philosophy: Use Apple's first-party tools (XCTest, XCUITest, Instruments) as the source of truth for quality.
Capabilities
- Unit Testing Logic: fast, isolated logic verification.
- UI Testing: End-to-end user flow verification.
- Snapshot Testing: Visual regression testing.
- Performance Testing: XCTMetric verification.
- Accessibility Testing: Automated audit via XCUITest.
- Hero Flow Verification: Integrated critical path testing (Input -> Process -> Connect).
Usage
1. Execute Tests via Script
Always use the wrapper script to ensure correct scheme and destination settings.
./tools/run_native_tests.sh [mode]Modes:
unit: Run unit tests only (Logic layer).ui: Run UI tests only (Interaction layer).fast: Run unit + critical UI paths.full: Run ALL tests (including performance and snapshots).
2. Writing Tests
- Unit: Inherit from
XCTestCase. UseXCTAssert.... - UI: Inherit from
XCTestCase. UseXCUIApplication. - Performance: Use
measure(metrics:options:block:).
Best Practices
- Isolation: Reset state before each UI test (
app.launchArguments += ["-reset"]). - Accessibility: Use
app.buttons["identifier"]over static texts. - Concurrency: Use
XCTestExpectationfor async code.