Each month, an employee collects information about licenses from various sources and enters it step by step into a multi-page Excel document that consolidates this information and uses macros for additional checks and calculations. Once all the data has been collected and processed, the service manager places a license order for the coming month via a special web application. As everything is done manually and data has to be entered into multiple Excel spreadsheets, errors can occur that only become visible in the controlling phase and can lead to high costs. In order to reduce manual input errors, it was decided to automate part of the license capturing process. For this purpose, two options – UiPath and Robot Framework – were compared as part of a proof of concept. In the end, Robot Framework was selected and the automation was implemented within it.
Supplement
The UiPath Platform is a commercial solution from UiPath. The platform is web-based and provides a user-friendly canvas with drag-and-drop functionality for creating automations. Robot Framework is a free open source framework originally developed for test automation and is based on Python. The code can also be extended with Python. The entire license billing process was divided into smaller processes which were analyzed and prioritized in terms of manual effort, software (web or desktop), and frequency of execution. One process was then selected and automated using the two tools. For further automation, Robot Framework and three additional processes were successfully automated. Some parts of the processes were written with Python libraries: pandas, xlwings and requests_negotiate_sspi.
Subject description
In the course of automation, parts of the selected processes were optimized. At the client's request, users still have to enter their credentials manually when logging in. To avoid the robot having to access numerous VMs, the documents are first uploaded manually to SharePoint. The robot then processes them from there. To make work easier for business users, the Robocorp Assistant (an app with a user-friendly interface from Robocorp) is used to initiate processes. Since Robocorp will only support Python in the future and some parts were already written in Python, the entire automation solution was written in this language. In addition, Selenium was used to automate the data download from a web application.