5

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)?

Bookeater
8941 gold badge7 silver badges15 bronze badges
asked Apr 16, 2016 at 1:18
2
  • Small tips: You may want to reduce the Sikuli object recognition precision (default 0.7 or thereabouts). And/or tightly control application screen resolution. 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

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.

answered Apr 19, 2016 at 10:30
1
  • 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. Commented Apr 19, 2016 at 20:06
1

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

answered Apr 17, 2016 at 7:12
1
  • Thank you but the application isn't Java based. Its a C++ application. Commented Apr 19, 2016 at 19:57
1

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?

answered Apr 20, 2016 at 16:19

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.