A SwiftUI-based iOS playground for learning and practicing UI testing with XCUIAutomation.
XCUIPlayground is a focused sandbox for building reliable UI tests against realistic app behavior.
It includes deterministic screens and common product flows so you can prototype selectors, synchronization logic, and end-to-end test scenarios with less flakiness.
- SwiftUI + MVVM architecture
- Deterministic UI states for reproducible tests
- Core component playground:
- Buttons, inputs, toggles, sliders, steppers, pickers
- Alerts, modals, web view, safari view
- Scenario playground:
- Login flow
- Biometric auth flow
- Async loading and error handling states
- iOS permission playground:
- Location
- Photos
- Contacts
- Notifications
- Localization-ready setup (
enandru)
| Components | Scenarios | Permissions |
|---|---|---|
![]() |
![]() |
![]() |
- Open
XCUIPlayground.xcodeprojin Xcode. - Select an iOS Simulator target.
- Build and run the app.
- Start writing XCUI tests against stable, isolated flows.
XCUIPlayground/Features/Components- UI components for interaction testingXCUIPlayground/Features/Scenarios- end-to-end user flow scenariosXCUIPlayground/Features/Permissions- system permission related flowsXCUIPlayground/Resources/Localization- localized resources and string catalog
- QA engineers improving iOS UI automation coverage
- iOS engineers validating testability of SwiftUI screens
- Teams creating onboarding exercises for UI automation
Contributions are welcome.
Please open an issue for discussion before submitting major changes.
This project is released under the MIT License.


