Skip to main content

WPF Pilot
Next generation WPF testing.

Works out of the box

No third party installers or config required. Install the package and start writing tests. Every test framework is supported. Actions are streamed directly to the app for blazingly fast execution.

PM > Install-Package WpfPilot

using WpfPilot;

void UserProfileTest()
{
using var appDriver = AppDriver.Launch("../bin/Debug/MyCoolApp.exe");
appDriver.GetElement(x => x["Name"] == "UsernameInput")
.Type("Hello World");
appDriver.GetElement(x => x["Name"] == "SubmitButton")
.Click();
appDriver.GetElement(x => x["Name"] == "UsernameLabel")
.Assert(x => x["Text"] == "Hello World");
}

// `AppDriver` sets up the app and provides access to the UI.
using var appDriver = AppDriver.Launch("../bin/Debug/MyCoolApp.exe");
appDriver.RunCode(_ => MyCoolAppManager.ClearScreen());

// `Element` represents a UI element.
var element = appDriver.GetElement(x => x["Width"] > 400);
element.Click();
element.Focus();
element.Invoke<MyCustomControl>(x => x.DoAnimation());

// `Primitive` represents a property on the UI element.
var visibility = element["Visibility"];

// `Keyboard` simulates keyboard input.
appDriver.Keyboard.Type("Hello World");

Minimal yet powerful API

There are only four core classes to learn. The API is designed to be simple and intuitive. The API is also extensible, allowing you to create your own actions.

Try it out for free

Catch bugs before they reach production. WPF Pilot is free for open source projects.

Enterprise License*Apache v2 for open source.