Description
Currently, GADS is a powerful solution for physical device management. However, it currently lacks support for iOS Simulators.
Adding simulator support would significantly enhance GADS by allowing users to:
- Optimize Resources: Run automated tests on virtual devices when physical hardware is unavailable or unnecessary.
- Unified Dashboard: Manage both physical iPhones and local/remote iOS Simulators from a single web interface.
- CI/CD Integration: Provide a visual debugging interface for simulators running in headless CI environments.
Technical Reference: Appium Inspector
I would like to highlight that Appium Inspector (and the appium-xcuitest-driver) already provides excellent support for iOS Simulators. It handles screen mirroring and touch interactions very smoothly.
Since GADS already implements a sophisticated provider/device architecture, leveraging similar logic to Appium—such as using xcrun simctl for device lifecycle and screen streaming—could be a viable path to bring simulator support to GADS without reinventing the wheel.
Proposed Implementation Ideas
- Discovery: Use
xcrun simctl list --json to detect booted or available simulators on the host Mac.
- Streaming: For simulators, GADS could potentially use
xcrun simctl io record-video (with pipe output) or a frame-buffer capture approach similar to how Appium Inspector mirrors the simulator screen.
- Input Injection: Map web-based coordinates to
xcrun simctl pinpoint or use the WDA (WebDriverAgent) which also runs on simulators.
Additional Context
Since GADS-Android already shows some compatibility with Android Emulators, bringing iOS Simulators to parity would make GADS the most comprehensive open-source "Device Farm" solution available.
Description
Currently, GADS is a powerful solution for physical device management. However, it currently lacks support for iOS Simulators.
Adding simulator support would significantly enhance GADS by allowing users to:
Technical Reference: Appium Inspector
I would like to highlight that Appium Inspector (and the
appium-xcuitest-driver) already provides excellent support for iOS Simulators. It handles screen mirroring and touch interactions very smoothly.Since GADS already implements a sophisticated provider/device architecture, leveraging similar logic to Appium—such as using
xcrun simctlfor device lifecycle and screen streaming—could be a viable path to bring simulator support to GADS without reinventing the wheel.Proposed Implementation Ideas
xcrun simctl list --jsonto detect booted or available simulators on the host Mac.xcrun simctl io record-video(with pipe output) or a frame-buffer capture approach similar to how Appium Inspector mirrors the simulator screen.xcrun simctl pinpointor use the WDA (WebDriverAgent) which also runs on simulators.Additional Context
Since GADS-Android already shows some compatibility with Android Emulators, bringing iOS Simulators to parity would make GADS the most comprehensive open-source "Device Farm" solution available.