NashTech Blog

Table of Contents

As you may be aware, the demand for automation testing is on the rise nowadays, not only for web and mobile applications but also for desktop applications. Recognizing the need for automated testing for desktop applications combined with the Robot Framework, during my research, I discovered that the RPA library is one of the noteworthy options to consider due to its flexibility across multiple languages and its ability to address the challenge of automation on desktop applications. Join me as we explore the fascinating features of this library.

1. Introduction to RPA Framework

RPA Framework is a collection of open-source libraries and tools for Robotic Process Automation (RPA), and it is designed to be used with both Robot Framework and Python. The goal is to offer well-documented and actively maintained core libraries for Software Robot Developers.

The RPA framework provides libraries support for the implementation and deployment of automation tasks.

For Web Applications: RPA.Browser, RPA.Browser.Selenium, and RPA.Browser.Playwright.

For Desktop Applications:

  • RPA.Desktop can cross-platform desktop automation.
  • RPA.Windows can windows desktop automation.

2. List RPA libraries

The RPA framework provides libraries support for the implementation and deployment of automation tasks. The RPA Framework project currently includes the following libraries:

LIBRARY NAME DESCRIPTION
Archive Archiving TAR and ZIP files
Assistant Display information to a user and request input.
Browser.Selenium Control browsers and automate the web
Browser.Playwright Newer way to control browsers
Calendar For date and time manipulations
Cloud.AWS Use Amazon AWS services
Cloud.Azure Use Microsoft Azure services
Cloud.Google Use Google Cloud services
Crypto Common hashing and encryption operations
Database Interact with databases
Desktop Cross-platform desktop automation
Desktop.Clipboard Interact with the system clipboard
Desktop.OperatingSystem Read OS information and manipulate processes
DocumentAI Intelligent Document Processing wrapper
DocumentAI.Base64AI Intelligent Document Processing service
DocumentAI.Nanonets Intelligent Document Processing service
Email.Exchange E-Mail operations (Exchange protocol)
Email.ImapSmtp E-Mail operations (IMAP & SMTP)
Excel.Application Control the Excel desktop application
Excel.Files Manipulate Excel files directly
FileSystem Read and manipulate files and paths
FTP Interact with FTP servers
HTTP Interact directly with web APIs
Hubspot Access HubSpot CRM data objects
Images Manipulate images
JavaAccessBridge Control Java applications
JSON Manipulate JSON objects
MFA Authenticate using one-time passwords (OTP) & OAuth2
Notifier Notify messages using different services
OpenAI Artificial Intelligence service
Outlook.Application Control the Outlook desktop application
PDF Read and create PDF documents
Robocorp.Process Use the Robocorp Process API
Robocorp.WorkItems Use the Robocorp Work Items API
Robocorp.Vault Use the Robocorp Secrets API
Robocorp.Storage Use the Robocorp Asset Storage API
Salesforce Salesforce operations
SAP Control SAP GUI desktop client
Smartsheet Access Smartsheet sheets
Tables Manipulate, sort, and filter tabular data
Tasks Control task execution
Twitter Twitter API interface
Windows Alternative library for Windows automation
Word.Application Control the Word desktop application

 

3. Advantage and disadvantages of RPA in Desktop application automation

3.1 Advantage

  • RPA is completely free to use.
  • Supports Python and Robot
  • Can cross-platform desktop automation
  • Can integrate with popular CI/CD platforms like Azure DevOps, Jenkins,…
  • Support Robocorp inspector and window recorder to catch locators
  • Support finds locators by image

3.2 Disadvantages

  • The functionality for interacting with desktop applications is still limited.
  • Regarding RPA.Windows – Lacks support for the wait element mechanism.
  • Regarding RPA.Desktop – The support for catching elements using both images and text makes it susceptible to influences such as the recognition of images, screen resolution, and variations in different versions of the same operating system.
  • Limited Testing Capabilities (RPA may not offer the same depth and breadth of testing capabilities as dedicated automation testing tools).
  • Performance Issues (RPA tools may introduce performance overhead, leading to slower execution times compared to native automation testing tools.)

4. Conclusion

In conclusion, RPA frameworks provide robust support with a variety of libraries catering to automation testing needs, including testing for web and desktop applications. Additionally, they seamlessly integrate libraries for working with APIs, databases, and Microsoft Office, thereby enhancing efficiency and productivity for organizations. If you are currently using the Robot Framework and have a need for automating Desktop Applications, then the RPA framework is definitely a choice worth considering.

References:

  • https://rpaframework.org/
  • https://rpaframework.org/libraries/desktop/index.html
  • https://rpaframework.org/libraries/desktop_windows/index.html

Picture of Truong Nguyen Nhat

Truong Nguyen Nhat

Truong is a Senior Automation Test Engineer of Nash Tech with more than 5 years experienced in Automation Test. He has experienced on building Automation Framework with various automation framework (such as Selenium, Appium, Robot, ...) as well as building the CI/CD for them. His passion and knowledge of automation test helps him to new technologies quickly and ensure the highest quality of automation in software testing.

Leave a Comment

Your email address will not be published. Required fields are marked *

Suggested Article

Scroll to Top