What are translators and how does Pega Robotic Automation Studio use them?
Most vendors who automate user interfaces use screen scraping or basic accessibility APIs. These APIs let you perform simple tasks like clicking text and sending data but have limitations, such as an inability to perform the following tasks.
- Automate applications in the background or in parallel.
- Perform complex interactions, particularly with grids, such as grabbing all of the data, scrolling and finding the right data, and handling embedded grid controls.
- Automate with an end user present and working in the same application (attended automation).
- Receive and respond to events from applications, such as for validation purposes or in a workflow automation.
Pega Robotic Automation Studio does not have these limitations because Studio injects code into applications. This code then communicates with the user interface objects the application programmer used to build the application. The code Studio injects is called a translator. For instance, when you automate a Java application, the translator talks to the Java objects. When you automate a .NET application, the translator talks to the .NET objects. Pega Robotic Automation includes translators for the most common platforms and controls used in enterprises.
There are applications built on other platforms for which Studio does not have translators. Typically, this occurs when an application leverages a third party control library, such as Infragistics or DevExpress, or when an application leverages custom controls, such as with Remedy or SAP. When this happens the Studio engineering team creates translators for these new controls and adds them to our product. Once created, these translators are made available to all customers.
For more information, see the Technical Article: Understanding Translators.