Useful Softwares/Python Packages for Automating Windows applications

There are well known giants for web applications like Selenium, UFT and so many other tools but when it comes to window based automation , There are third party tools and Python does have awesome packages which are available free/open source and works in the best way to handle almost of windows based tools (Be it the test case automation for application testing or task automation inline to RPA)

Third Party Applications

SikuliX automates anything you see on the screen of your desktop computer running Windows, Mac or some Linux/Unix.

  • It uses image recognition powered by OpenCV to identify and control GUI components. This is handy in cases when there is no easy access to a GUI's internals or the source code of the application or web page you want to act on. It also has the OCR
  • Sikulix is definitely fruitful for basic tasks of windows automation in Windows and Mac environment with Python 2.7 and Jython supported but while working with python3 , there are issues undiscovered and can be opted where one does not need or have no time for code

AutoIT: Definitely of a choice because of easy BASIC like scripting and handles things in an easy manner but when we do think about cross platform - well its only supported on windows :) as per conversation here

  • AutoItDriverServer is a Selenium server to control/drive AutoIt via (Remote)WebDriver API. It's simpler using the same WebDriver API to handle both AutoIt and Selenium in your language of choice. And simply run a server (or another server if including Selenium server JAR for Grid/RemoteWebDriver) on the target host machine (i.e. AutoItDriverServer) to be able to remotely handle AutoIt requests.
  • Currently AutoItDriverServer is not built for Selenium Grid support so only runs standalone mode, but in the future, perhaps with help from others, it could be Grid compatible for easier deployment in Grid for tests that involve both AutoIt and Selenium. More Info around this is also available here

Python Packages

autopy is a very simple, cross-platform GUI automation toolkit for Python and Rust

PyAutoGUI :A cross-platform module for control the keyboard and mouse from a Python script. This is the one which I majorly use it in test scripts and quite useful and the documentation is very good and easy to understand

Winnium.Desktop : An open source test automation tool for automated testing of Windows application based on WinForms and WPF platforms. It is Selenium Remote WebDriver implementation

Pywinauto: Very pythonic object-oriented Windows GUI automation library. Now it supports 64-bit Py2 and Py3. This is another package of choice when scenario is limited to Windows

ldtp: Cross Platform Linux Desktop (GUI Application) Testing Project. LDTP is Linux version, while Cobra is Windows version and PyAtom is Mac version.

  • Linux GUI testing is known to work on GNOME / KDE (QT >= 4.8) / Java Swing / ?LibreOffice / Mozilla application on all major Linux distribution
  • Windows GUI testing is known to work on application written in .NET / C++ / Java / QT on Windows XP SP3 / Vista SP2 / Windows 7 / Windows 8
  • Mac GUI testing is known to work on OS X Snow Leopard/Lion/Mountain Lion. Where ever ATOMac runs, LDTP should work on it
  • It is aimed at producing high quality test automation framework and cutting-edge tools that can be used to test and improve the GNU/Linux or Solaris desktops. It uses the Accessibility libraries to discover through the application’s user interface.
  • I personally loved the level of detail one can cover through this one!. Just Amazing!!!

fMBT is another library for multi platform GUI testing. Though did not explore it personally, This one looks promising!

AToMac is a Python library of choice which fully enable GUI testing of Mac applications via the Apple Accessibility API

As far as me, Specific Use Case/Scenario does define the choice of tool but on a personal note of choice I will like to stay with the ones where I can include/use them in standard code apart from invoking a third part app. Thanks to awesome creators of Softwares/Packages!

Did you encounter any other tools/softwares/packages? Do post them below :) It helps to explore more tools which are still uncovered and this post could have a good collation of the best ones.


Bharati Belgaonkar

Principal Software Engineer(QA) at Conga

2 年

We use Atomac

回复
Abdul Vaseem Siddiqui

Information Technology Manager | MTech in Data Science Eng., MBA IT, BE CSE | PMP, P3O, AWS, ORACLE, ITIL, MSP, PRINCE2, COBIT

6 年

Very impressive and useful on automation

Amit Pishe

Data & AI Products | Analytics | Gen AI | Engg | Cloud | Data Practice | ISB

6 年

Good start Revant, nice info on Automation inputs

Payosmita Routrai

SAP CRM Lead Consultant

6 年

Quite Informative?

  • 该图片无替代文字

要查看或添加评论,请登录

Revant M V S的更多文章

  • Code Cocktail: A Cool Blend to Check Out!

    Code Cocktail: A Cool Blend to Check Out!

    Python, with its rich history and widespread adoption, It has powered countless applications, from web development to…

社区洞察

其他会员也浏览了