I have some experience as a manual tester and at my current work our regression testing takes about 2 days.

I am planning to start automating some of the test cases. I am looking at some of the free open-source tools available or cheap tools, I tried Sikuli but it only works for certain cases and most of the time it fails during object recognition.

I have been suggested AutoIt and I am going to check that out too. I have some knowledge of Python so are there any tools which I can use for test automation of desktop application where I can use Python as a scripting language?

Any other tool recommendation (preferably open source)?

  • Small tips: You may want to reduce the Sikuli object recognition precision (default 0.7 or thereabouts). And/or tightly control application screen resolution.
    – Bookeater
    Commented Apr 16, 2016 at 11:22
  • 1
    Which GUI framework is used in your application under test? It's the most important thing for desktop automation. Commented Apr 18, 2016 at 15:44

3 Answers 3


Don't, really don't go this way even if it seems tempting.

UI automation seems like a low hanging fruit- for example with AutoIt you can automate things really quickly and have a proof of concept running in no time.

But the minute you'll hit something new, an environment change, OS popups, hardware change or heaven forbids an optional action you will see your code getting fatter, messier and unstable.

Try to talk to your developers and build a test infrastructure using API calls to the level below the UI, and then just in case add a few manual and simple automated UI tests.

  • 1
    I agree with you 200% GUI automation is really bad way to go but our application doesn't have any API. This is a C++ based desktop application which controls the operation of a hardware setup.
    – Ronron
    Commented Apr 19, 2016 at 20:06

If you client is developed in Java/Swing, you may want to try https://marathontesting.com/downloads/ . Is uses Python as a programming language.

  • Thank you but the application isn't Java based. Its a C++ application.
    – Ronron
    Commented Apr 19, 2016 at 19:57

pywinauto might be useful for native C++ based desktop app automation. It uses mostly the same technolgies as AutoIt, but scripts are much more readable and maintainable because it's Python.

SWAPY is an object inspector for pywinauto written in Python as well. It has some half-manual code generation functionality if you're new to GUI automation.

There is another desktop automation tools brief overview (open source only): Are there GUI test tool better than Selenium?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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