mattleibow/DeviceRunners

A set of device runners for various testing frameworks.

80

stars

104

commits

C#

primary language

Jul 29, 2026

updated

mattleibow.github.io/DeviceRunners/
android
ios
macos
maui
testing
windows

README

Test Device Runners

A set of device runners for various testing frameworks.

The current platforms are:

  • Android
  • iOS
  • macOS (using Mac Catalyst)
  • Windows (using WinUI 3)

The current testing frameworks supported are:

  • Xunit
    • Visual device runner
    • XHarness (CI) device runner
  • NUnit
    • Visual device runner

The simplest way to run device tests. Add the DeviceRunners.Testing.Targets NuGet package to your test project, then run:

dotnet test MyApp.DeviceTests.csproj -f net10.0-maccatalyst
dotnet test MyApp.DeviceTests.csproj -f net10.0-ios
dotnet test MyApp.DeviceTests.csproj -f net10.0-android
dotnet test MyApp.DeviceTests.csproj -f net10.0-windows10.0.19041.0

This builds, deploys, and runs your test app, then collects TRX results automatically. No extra tooling needed.

More information: Using dotnet test

Testing with the Visual Runner

Testing using the visual runner is just a matter of running the test app like any other app. This can be done via the CLI or in the IDE. Perfect for debugging individual tests.

imageimageimage

More information: Visual Runner in the IDE

Testing with the DeviceRunners CLI (Advanced)

For scenarios requiring fine-grained control over deployment, the DeviceRunners CLI tool can be used directly. This is what dotnet test uses under the hood.

More information: Using DeviceRunners CLI

Testing with XHarness (Legacy)

For legacy CI setups, XHarness is still supported for Android, iOS, and Mac Catalyst.

More information: Using XHarness

Credits

This is repository contains revised code from a few places:

Contributors

mattleibow

88 commits

Copilot

15 commits

mattleibow/DeviceRunners

A set of device runners for various testing frameworks.

80

stars

104

commits

C#

primary language

Jul 29, 2026

updated

mattleibow.github.io/DeviceRunners/
android
ios
macos
maui
testing
windows

README

Test Device Runners

A set of device runners for various testing frameworks.

The current platforms are:

  • Android
  • iOS
  • macOS (using Mac Catalyst)
  • Windows (using WinUI 3)

The current testing frameworks supported are:

  • Xunit
    • Visual device runner
    • XHarness (CI) device runner
  • NUnit
    • Visual device runner

The simplest way to run device tests. Add the DeviceRunners.Testing.Targets NuGet package to your test project, then run:

dotnet test MyApp.DeviceTests.csproj -f net10.0-maccatalyst
dotnet test MyApp.DeviceTests.csproj -f net10.0-ios
dotnet test MyApp.DeviceTests.csproj -f net10.0-android
dotnet test MyApp.DeviceTests.csproj -f net10.0-windows10.0.19041.0

This builds, deploys, and runs your test app, then collects TRX results automatically. No extra tooling needed.

More information: Using dotnet test

Testing with the Visual Runner

Testing using the visual runner is just a matter of running the test app like any other app. This can be done via the CLI or in the IDE. Perfect for debugging individual tests.

imageimageimage

More information: Visual Runner in the IDE

Testing with the DeviceRunners CLI (Advanced)

For scenarios requiring fine-grained control over deployment, the DeviceRunners CLI tool can be used directly. This is what dotnet test uses under the hood.

More information: Using DeviceRunners CLI

Testing with XHarness (Legacy)

For legacy CI setups, XHarness is still supported for Android, iOS, and Mac Catalyst.

More information: Using XHarness

Credits

This is repository contains revised code from a few places:

Contributors

mattleibow

88 commits

Copilot

15 commits

Languages

C#

94.1%

HTML

2.4%

PowerShell

2.3%

CSS

1.2%