There are several frequently used tools on the market for Windows GUI automation, such as AutoIt, AutoHotKey, Squish, and among others.
Let me introduce a powerful new tool Clicknium that is great for GUI automation for all types of applications, including Windows GUI, Web, SAP, JAVA as well as image recognition.
What makes Clicknium special?
Clicknium is the next generation automation framework that contains python module, development toolkits, and cloud-native data management for collaboration. It is a great tool to enhance the efficiency of automation development.
Clicknium supports automation for Windows GUI applications, including Windows native desktop applications, Electron, JAVA, SAP, and also web automation in Microsoft Edge, Chrome, Firefox, and IE.
Here are three highlights for Clicknium:
- It performs better in some cases comparing with other tools
- It supports image recognition to enable automation for legacy applications
- It supports popular programming language Python for now and will do others soon
Clicknium makes coding easier in Visual Studio Code with Clicknium Visual Studio Code Extension, which provides features as below:
- Capture / edit / validate UI elements
- Manage locator store in local and cloud
- Locator’s IntelliSense, error hint, etc
- Create / run / debug / package clicknium python automation project for collaboration and distribution
What about AutoIt
AutoIt is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It combines simulated keystrokes, mouse movement and window/control manipulation to automate tasks in a way that is not possible or reliable in other languages (e.g. VBScript and SendKeys).
AutoIt has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required making it safe to use on servers. Scripts can be compiled into stand-alone executables with Aut2Exe.
PyAutoIt module is the python binding for AutoItX3.dll, it is easy for python developers to get started.
A Sample
Let’s check out a sample test for Windows GUI automation as below:
- Open notepad
- Type some string into notepad, eg: “hello automation”
- Close notepad without saving
Clicknium
Install python module with command pip install clicknium
Install Visual Studio Code Extension from Marketplace
Capture UI elements with Clicknium extension
Complete code, go to Github for source code
import subprocess
from clicknium import locator, ui
process = subprocess.Popen("notepad")
ui(locator.notepad.document_15).set_text("hello automation")
ui(locator.notepad.button_close).click()
ui(locator.notepad.button_commandbutton_7).click()
AutoIt(using PyAutoIt)
Install python module with command pip install pyautoit
Capture UI elements with AutoIt scripting tools
Get window info:
Get control info:
Complete code
import autoit
autoit.run("notepad.exe")
autoit.win_wait_active("[CLASS:Notepad]", 3)
autoit.control_send("[CLASS:Notepad]", "Edit1", "hello automation")
autoit.win_close("[CLASS:Notepad]")
autoit.control_click("[Class:#32770]", "Button2")
Clicknium vs AutoIt
Criteria | Clicknium | AutoIt |
---|---|---|
Language | Python .NET C# in coming soon | Basic-like scripting language Python (binding for AutoItX3.dll) |
Ease of Installation | Easy | Easy |
Applications Supported | All types of applications – Windows GUI – Web – JAVA – … | Windows GUI |
Prerequisites | .NET FrameWork 4.6.2 or above installed | – |
Free | Completely free for community edition Provides more powerful features in the professional or the enterprise use | Free |
Cloud Support | Provides managing GUI locators in cloud | – |
Technical Support | Provides support anywhere and any time by joining Clicknium Slack | The support from the community is limited, through Forum |
Which one is preferred?
Both Clicknium and AutoIt have their own advantages, which means choosing between the dual is subjective to the scenario they are in.
Clicknium offers faster, easier, and higher accuracy for capturing UI elements, together with cloud storage and professional support, but community content is not much as AutoIt yet. AutoIt is very small, self-contained, and with no “runtimes” required but capturing UI elements is more complex and cannot support some types of windows applications.
It depends on the requirements and the priorities to choose one among these two automation tools. When you need to automate multiple types of applications, Clicknium is definitely a better option as it has wide range of coverage. While in a scenario that only automates a simple Windows GUI application, AutoIt could be a nice bet.
Tags: