Automation Testing Tool Options for Desktop Applications
I'm in the process of researching solutions for desk application testing for a product my company developed. There's no API, so I'm looking for other software solutions. I didn't see any recent posts on the subject, so I figured I'd start one. I need to be able to...
- Run the software
- Select options within the menu choices
- Insert text into text boxes and tables
- Mouse clicking (or some form of selecting) on submenu options, checkboxes, buttons, & other objects
- Menu and object verification
I've done some looking around online. Here are some of the testing tools I've come across:
Sikuli TestComplete AutoIT Marathon Ranorex - Won't Work - -------------- PyAutoGUI, Pywinauto, Twin - only Microsoft Windows GUI Winium -- Selenium Remote Control deprecated?? -- Windows applications only
I'd prefer to use Python, but I'm open to using another language or something that has its own unique programming language. Something that's open source would be preferable, but I'm open to something commercial as well. Does anyone have any suggestions on which of these would be my best option? Are there any recommendations not on this list that I should look into?
Since you rule out tools that are limited to Windows GUI you seem to be in need for a multi-platform tool. Maybe even a tool that can deal with non-standard UI controls.
In case your application developers based the GUI on their own set of controls (without standard APIs) there are two possible approaches to make the automation work:
Direct access to properties and functions of the underlying programming framework. Like .NET.
Use image-based testing as well as OCR.
May I add Squish GUI Tester to your list of tools to evaluate? It is made by my company and provides above options plus Python bindings for both classic test scripts as well as Behavior-Driven Testing.