Welcome to the DeviceRunners Documentation!
We are glad you are here and one step closer to learning more about this library and the ways you can contribute 🙌
Use the table of contents to navigate and find answers to your questions. You can submit an issue to suggest changes, introduce features, file bug reports, or leave a DeviceRunners related question. You can also submit a pull request and contribute to the project.
Getting Started
DeviceRunners provides multiple ways to run tests for .NET MAUI applications:
dotnet test (Recommended)
The simplest way to run device tests. Add a NuGet package, run dotnet test, and get TRX results. Works with standard CI/CD pipelines out of the box.
- Using dotnet test - Setup, configuration, and usage
- Platform guides: Android | iOS | macOS Catalyst | Windows
Visual Test Runners
Interactive test execution within the IDE for development and debugging. Perfect for manual testing and development workflows.
- Visual Runner in the IDE - Run tests interactively within your development environment
CLI Test Runners
Automated command-line test execution for advanced scenarios requiring fine-grained control over deployment and execution.
DeviceRunners CLI (Advanced)
The CLI tool that dotnet test uses under the hood. Use it directly when you need more control:
- Using DeviceRunners CLI - Overview and installation
- Android CLI Testing - Android APK testing
- Windows CLI Testing - Windows MSIX and EXE testing
- macOS CLI Testing - Mac Catalyst testing
- iOS CLI Testing - iOS Simulator testing
XHarness (Legacy)
Platform-specific tools for specialized scenarios:
- Using XHarness - Legacy XHarness-based testing
- Platform-specific XHarness guides for iOS, Android, Mac Catalyst, and Windows
Architecture and Development
- Technical Architecture Overview - Comprehensive technical documentation
- Types of Tests - Understanding different testing approaches
- CLI Test Workflow - Detailed workflow for CLI test execution
Helper Guides
- Managing Android Emulators - Set up and manage Android emulators
- Preview Packages - Using pre-release NuGet packages
- CI Pipeline Configuration - GitHub Actions and Azure Pipelines setup
Feedback and Requests
Please use GitHub Issues for bug reports and feature requests. You can also chat with community members about the project in our Community Discord. There is also the GitHub discussions for topics relating to the use and development of this library.