A Swift framework providing XCTest extensions and helpers for writing robust iOS/macOS UI automation tests.
AutoMate is a Swift framework that provides a set of extensions and helpers for Apple's XCTest framework, specifically designed for UI automation testing on iOS and macOS. It solves the problem of repetitive and error-prone test setup by offering strongly-typed configuration for launch arguments, environment variables, and system settings, making UI tests more reliable and maintainable.
iOS and macOS developers and QA engineers who write UI automation tests using XCTest and want to reduce boilerplate, improve type safety, and manage test environment configuration more effectively.
Developers choose AutoMate because it provides a clean, extensible abstraction over XCTest's low-level APIs, enabling consistent test configuration, built-in helpers for common UI interactions, and integration with companion tools for managing animations and system data—all while maintaining full compatibility with Swift and Apple's testing ecosystem.
Swift framework containing a set of helpful XCTest extensions for writing UI automation tests
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides strongly-typed wrappers for launch arguments and environment variables, as shown in the TestLauncher example for setting languages and locales, reducing configuration errors.
Adds XCTest extensions like `waitForVisibleElement` and `isVisible`, simplifying common UI interactions and assertions, as demonstrated in the usage code snippet.
With AutoMate-AppBuddy, it can disable animations and manage system data like events and contacts, improving test reliability and speed, per the README's features list.
AutoMate-Templates offers locator helpers and templates for building maintainable page object models, promoting better test structure and maintainability.
The README lists key to-do items like stubbing network requests, taking screenshots, and clearing app data, which are missing and may require workarounds.
Full functionality depends on integrating separate repos (AppBuddy, Templates, ModelGenie), increasing setup effort and potential versioning issues.
It's tightly coupled with Apple's XCTest, making it unsuitable for projects using alternative testing frameworks or needing broader tool compatibility.