C# – Looking for a GUI automation framework that works with .NET (WinForms)

automationc++user-interface

Currently we're using AutoIT for automating a few internal tools built with WinForms.

This is not a smooth process since AutoIT does not handle .NET windows very well as far as I could see.

I'm looking for a framework that is:

  1. Free (or very cheap).
  2. Works with WinForms/WPF and any other .NET technology.
    By this I mean robust control identification that will redue overhead of maintaining the
    project with every small UI change of the application.
  3. No scripting/minimal scripting involved (if possible – in a popular language).
  4. Record mode to record runs.

Best Solution

You could use White. From the site:

White is a framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight and SWT (Java) platforms. It is .NET based and does not require the use of any proprietary scripting languages. Tests/automation programs using White can be written with whatever .NET language, IDE and tools you are already using. White provides a consistent object-oriented API, hiding the complexity of Microsoft's UIAutomation library (on which White is based) and windows messages. Only stable versions of White are released, so all releases are production-ready.

Related Question