mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
docs: clarify iOS runner protocol contract (#300)
This commit is contained in:
committed by
GitHub
parent
aae1771c54
commit
ac50381270
+17
-2
@@ -1,16 +1,25 @@
|
||||
# agent-device iOS Runner
|
||||
|
||||
This folder is reserved for the lightweight XCUITest runner used to provide element-level automation on iOS.
|
||||
This folder contains the lightweight XCUITest runner used to provide element-level automation for Apple-family targets.
|
||||
|
||||
## Intent
|
||||
|
||||
- Provide a minimal XCTest target that exposes UI automation over a small HTTP server.
|
||||
- Allow local builds via `xcodebuild` and caching for faster subsequent runs.
|
||||
- Support simulator prebuilds where compatible.
|
||||
|
||||
## Status
|
||||
Planned for the automation layer. See `docs/ios-automation.md` and `docs/ios-runner-protocol.md`.
|
||||
|
||||
Current internal runner for iOS, tvOS, and macOS desktop automation.
|
||||
|
||||
Protocol and maintenance references:
|
||||
|
||||
- Protocol overview: [`RUNNER_PROTOCOL.md`](RUNNER_PROTOCOL.md)
|
||||
- TypeScript client: [`../src/platforms/ios/runner-client.ts`](../src/platforms/ios/runner-client.ts)
|
||||
- Swift wire models: [`AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Models.swift`](AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Models.swift)
|
||||
|
||||
## UITest Runner File Map
|
||||
|
||||
`AgentDeviceRunnerUITests/RunnerTests` is split into focused files to reduce context size for contributors and LLM agents.
|
||||
|
||||
- `RunnerTests.swift`: shared state/constants, `setUp()`, and `testCommand()` entry flow.
|
||||
@@ -23,3 +32,9 @@ Planned for the automation layer. See `docs/ios-automation.md` and `docs/ios-run
|
||||
- `RunnerTests+Snapshot.swift`: fast/raw snapshot builders and include/filter helpers.
|
||||
- `RunnerTests+SystemModal.swift`: SpringBoard/system modal detection and modal snapshot shaping.
|
||||
- `RunnerTests+ScreenRecorder.swift`: nested `ScreenRecorder` implementation.
|
||||
|
||||
## Protocol Notes
|
||||
|
||||
- The daemon posts JSON commands to `POST /command` on the runner's local HTTP listener.
|
||||
- The runner responds with a JSON envelope shaped as `{ ok, data?, error? }`.
|
||||
- The protocol is internal to `agent-device`; when adding or renaming commands, update both wire models and the protocol tests/docs in the same change.
|
||||
|
||||
Reference in New Issue
Block a user