In this article, we will discuss the advantages and disadvantages of UI (user interface) automation. For this discussion, user interface automation means writing a script that repeats the tasks necessary to complete a process through automated mouse clicks and typing.
An example of a process that could be automated using UI automation would be in an Accounts Payable module. The A/P person may be asked to login and code all credit memos from certain vendors to the credit memo account for processing. This is obviously a simple and repeatable data entry process that involves an actual human being navigating the same series of windows and entering the same general ledger account over and over again. Depending on volume, this could be someone’s complete job or at the very least take up a significant amount of time.
For processes like the above many of the more sophisticated accounting and finance operations rely on UI automation tools (a great open source (free) option is Sikuli). Sikuli and other pay-for-play options such as Automation Anywhere utilize image recognition – the script is based on the windows and prompts the accountant or finance professional sees when they are performing the process.
1. Depending on the size of the company you are working for you may or may not be aware of any software upgrades or changes that would result in images utilized in the script changing. Meaning new prompts, windows, or colors could be added or changed keeping your automation from working.
2. Scaling automations that rely on UI can be challenging as images may change from computer to computer depending on display settings.
3. Anytime spent writing scripts for one piece of legacy software may or may not be useable for a different process as the images and patterns might be that unique. However, typically we find that the bones of the automation the While and For loops that are written can be used in other scripts.
1. UI automation is easy to conceptualize as it follows the steps a person actually performs (i.e., the program will actually click on buttons, type in boxes, etc.). This can also be an advantage for when demoing to executive leadership as they can actually see the automation working as the computer is navigating the screens like a real person. While this may not seem significant, it is just as important for people to understand your value creation in your career as it is for you to create value.
2. UI automation works well for legacy software (read: old) ranging from ERP systems to billers to fixed asset modules, etc. as older software typically allow for limited API access (Application Programming Interface). An API allows two software systems to communicate (e.g., automation software with the legacy system). Legacy platforms also typically have more of the repeatable tasks and processes inside of them. As such, following the steps a person performs through the UI might be the only feasible option.
3. Even in situations where API access is available. Depending on the size of your firm, security might be an issue. For example, you might only have access to the billing or fixed asset module of the ERP. When utilizing UI automation, your security will be restricted to the same access as you have on your computer so your script cannot access anything that you normally could not.
Large scale, business critical, or customer facing options should look elsewhere first before considering UI automation as it just takes a slow UI response or new image to keep the script from working properly. However, there is a time and place for UI automation especially when individuals who perform the tasks can learn to write the scripts themselves and modify the code as necessary. Stated differently you wouldn’t want to set up your entire Accounts Payable operation to work off UI automation, but if you were the person asked to do data entry as part of your job and wanted to contribute something more value add it definitely is a great place to start.