WPF PilotNext generation WPF testing.
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.