Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need a list of some good tools which are open source and meant for automating the UI testing of Windows GUI. Any help will certainly be appreciated.

share|improve this question
What have you tried so far? Isn't enough? Why not? – dzieciou Jun 5 '14 at 21:15
Does it need to be open source or will free work for you? There is a very limited list of "good" open source UI tools for windows. – Niels van Reijmersdal Jul 11 '14 at 7:37


Sikuli automates anything you see on the screen. It uses image recognition to identify and control GUI components. It is useful when there is no easy access to a GUI's internal or source code.

share|improve this answer

TestStack White: (partial open-source)

White is an open-source 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.

With the free Visual Studio Express you can create automated tests with the .Net framework. See my example console C# app code to automate notepad.exe below:

using System;
using TestStack.White;
using TestStack.White.InputDevices;
using TestStack.White.UIItems.Finders;
using TestStack.White.UIItems.MenuItems;
using TestStack.White.UIItems.WindowItems;

namespace WhiteTest
    class Program {
        static void Main(string[] args) {
            Tests tests = new Tests();

    class Tests {
        public void Notepad() {
            // Arrange
            Application app = Application.Launch("notepad.exe");
            Window window = app.GetWindow("Untitled - Notepad");

            // Act
            var box = window.Get(SearchCriteria.ByClassName("Edit"));
            Keyboard.Instance.Send("test", box);

            window.MenuBar.MenuItem("File", "Save As...").Click();
            var filename = window.Get(SearchCriteria.ByClassName("Edit"));
            Keyboard.Instance.Send(DateTime.Now.ToString("yyyyMMddHHmmssffff") + "test.txt", filename);


            // Assert 
            //  file is created in Documents folder
share|improve this answer

One option would be to use robot framework with the autoit library. Robot is a keyword driven acceptance testing framework, which allows you to write your tests in a very readable, english-like format. Robot files are plain text so they integrate well with version control, and there is a robot format plugin for jenkins to support continuous integration. Robot also has a nice mechanism for tagging tests, and generates both xml and html reports and logs.

share|improve this answer

I have worked on SilkTest and it is good. Also, as @Ankit mentioned there are many good UI testing tools, you can find here:

share|improve this answer
The question is about "Open Source" tools. SilkTest is not open source. :) – Niels van Reijmersdal Jul 11 '14 at 7:32
I missed "Open Source", thank you for the correction :) – Nishant Mor Jul 11 '14 at 8:20
As for Silk Test Classic and Silk4Net, I came here searching for alternatives, finding it hard, unintuitive and also highly text-dependent with little room for customization. It probably works ok or even good if you are just using the recorder and editing a bit, but if you want to be a bit more flexible, e. g. with maintaining object maps or embedding into larger context, it seems not straightforward. – Andreas Reiff Sep 15 '15 at 9:11

There's more than one project on for automating the UI testing of Windows GUI, among all the other stuff there.

I have been using "UIAutomation Powershell Extensions"

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.