10 best practices of RPA developer
Beyond the early adopters, such as the banking, financial and insurance (BFSI), and Business Process Outsourcing (BPO) industries, many organizations across varied sectors are now looking at launching or have already started to implement a formal automation or robotisation program.
Activate RDS licensing for multiple bots
While the platform supports running multiple bots on a single server concurrently, it is important to ensure you have the correct infrastructure, operating system, and Microsoft licenses.
Add BCB module
In some cases, designing a project requires an approach different from what Simple Archetype suggests. For example, you want to automate the user interface (UI) in your internal applications via RPA bots. At the same time, you'd like to keep each RPA automation in a separate Maven module and check in each module into a separate Git repository so that you can grant Git access and share specific RPA application automations with specific teams, enabling them to reuse your code and contribute.
Agree and follow unified solution standards
There are many strategic recommendations are issued on how to structure RPA programs to achieve advanced Robotics, particularly on how to:
Apply BEP practices
With the introduction of the BEP execution platform:
Apply CSS selectors
For more details, refer to the JavaDoc documentation.
Apply element selectors
Selectors (or Locators) are used to find and match the elements of a web page or desktop app that a robot needs to interact with. Using the right selector ensures the bots are faster, more reliable or has lower maintenance over releases. If you’re fortunate enough to be working with unique IDs and Classes, then you’re usually all set. It can be a real challenge to verify that you have the right selectors to accomplish what you want.
Apply Object selectors
Object selectors are used for automating desktop applications only.
Apply surface-based Robotics driver
Overview
Apply universal RPA driver
The universal driver provides the following benefits for rapid RPA scripts development:
Automate applications in desktop virtualization software
The subject of the topic is applications, which are published via desktop virtualization software such as Citrix XenApp, Citrix XenDesktop, VMWare Horizon, Remote Desktop Services.
Automate basic authentication
The image is used to change focus to the sign-in popup window.
Automate browser navigation commands
Type|Method|Description
Automate checkbox and radio button operations
Apply selection methods
Automate command-line applications
The example below shows how to run commands on a remote RPA Agent machine. Pay attention to how you can execute Groovy code remotely.
Automate drag-and-drop operations
Some web applications have functionality allowing to drag web elements from one location and drop them on a defined area or even another web element.
Automate dynamic web elements
Most of sites are dynamic and change the page content by JS scripts while a user interacts with a page.
Automate dynamic web tables
A table is a kind of HTML data displayed with the help of the ` tag in conjunction with the and ` tags. Although there are other tags for creating tables, these are the basics for creating a table in HTML:
Automate Java desktop applications
Launch applet and insert and extract data
Automate mainframe applications
A typical application looks like the one on the screenshot below:
Automate mouse hover
To click an item of the drop-down menu, use the hover() method:
Automate operations with files
Automate file download
Automate Windows desktop applications
Automate Calculator
Automation Engineer certification
The Automation Engineer certification in Automation Academy helps trainees obtain a key professional developer role that ensures the successful delivery of a complex automation project.
Build code with RPA
The article explains different solution approaches to building code and focuses on simplified RPA API.
Building RPA skillset
Glimpse at decades of RPA
Change RPA Unit resolution
The default WFRDP client resolution for each RPA Unit is 1270\*700. You can customize this value and change it for each RPA Unit.
Check Windows registry settings
user-settings.reg
Combine desktop RPA approaches
Goal
Configure automatic screen unlock
Internal Windows policies can lead to situations where your screen becomes locked during execution, thus affecting long-running Business Processes, which can be an issue if you apply the image-based automation.
Configure CyberArk integration with RPA
You can use CyberArk as a custom source to retrieve credentials from. The default source to keep credentials is Secrets Vault.
Configure HashiCorp Vault for RPA
Get Vault token
Configure health check endpoints
After launching a process, the Master Agent is responsible for verifying that the process started successfully by querying the process health check endpoint, if one is defined. If no health check endpoint is configured, the Bot Agent does not verify the process health after its launch.
Configure Internet Explorer
Before making any changes to Internet Explorer settings, make sure no Java processes are running.
Configure Java applet security policies
Replace Java policy files
Configure RPA video recording
The screen capturing feature allows recording videos of actions currently performed on each Bot Unit screen. The functionality is used by IT Operations, RPA Developers, and Automation Engineers for troubleshooting purposes.
Create dispute case
The use case shows how to create a dispute case from the email information.
Decrease web page loading time
Before executing each command, the RPA web driver checks the value of the document.readyState property and stops the command execution until the property gets the complete status.
Deploy RPA
RPA deployment
Distribute tasks
General overview
Estimate number of RPA Units
RPA Units to FTE ratio checklist
Estimation
For more details, refer to:
Estimation approaches
For more details, refer to:
Execute Groovy script
The feature allows executing GroovyScript on a Bot machine (Windows RPA Server), not in Control Tower. For more details, see the JavaDoc link.
Execute JavaScript
JavaScript is the preferred language inside the browser to interact with an HTML document object model (DOM). It means that a Browser has a JavaScript implementation in it and understands the JavaScript commands. You can disable it using browser options in your browser. The web driver still uses JavaScript to perform some actions.
Explore RPA Unit execution lifecycle
There are two generic approaches for the RPA Unit execution:
Get all stock movements for specified period
The use case shows how to get all the stock movements for a specified material and period, and send the data to a user, along with the stock on start and end dates of the selected period.
Get started with page object design
General overview
Get warehouse stock for specified material
The use case shows how to get the stock for specific material and send the data to a user.
Handle iFrames
Handle IFrames with Robotics WebDriver
Handle JavaScript alerts and popup boxes
An alert is a pop-up window that comes up on the screen. There are many user actions that can result in alerts. For example, a user clicks a button that displays a message, and a web page asks for some extra information.
Handle web elements via XPath
The topic is a brief introduction to XPath to present a quick overview of the main techniques you can use in your recordings to handle elements on a web page, for example, to click a link or an object, get or set value from/to fields or menus. The tutorial explains the basics of XPath with suitable examples.
How RPA handles application timeouts and unavailability
Introduction
Implement RPA with PageObject
Sample PageObject implementation walkthrough
Implementation
Also, refer to Building RPA skillset.
Inspector
Inspector(21) or Inspector, depending on the Java version you use (Java 21 or Java 8, respectively), is a tool for exploring the properties and values of objects in native Windows applications, various frameworks, Java, and SAP applications. It supports automation through recordings by providing functionality for quick element selector search.
Install RPA Windows server
To learn more about deployment, see Deploy RPA. For the general deployment architecture, refer to Installation overview | Deployment diagram.
Integrate with CyberArk
The page covers details of WorkFusion integration with CyberArk products.
Locate UI elements and windows
Web applications do not always confine themselves to working entirely on the web. Sometimes they need to interact with the desktop to do things like downloads and uploads. Automating these sorts of workflow is tricky in using WebDriver. WebDriver is confined to automating browsers, so desktop windows are out of scope.
Manage logs
View RPA logs
Migrate web-automation Business Processes to Work.AI v10.3
Starting with Work.AI v10.3, the internal dependency on Selenium Fork is migrated to the latest version of Selenium 4 via the Selenide framework. The migration introduces backward compatibility issues with RPA components (desktop RPA, RPA API) and breaking changes to your implementations.
Perform monitoring in case of non-standard setup
View RPA standard setup workflow
Perform stateless execution of Bot Tasks
Stateless execution definition
Post incoming invoice into SAP
The use case shows how to create and post an incoming invoice into the SAP system.
Production support
We have started to see some negative style articles about RPA, especially about scalability and maintainability. On the one hand, we are glad that we passed the period of narcissism and started to blow off the hype bubble. On the other, these articles usually depict only one side of an issue and look like fighting with windmills or trying to criticize something that one has not tried.
Receive information about SAP tables
The use case shows how to get information about SAP tables. There are two scenarios each of them performing almost the same actions but with different tools.
Requirements gathering
The guide contains a checklist to follow while writing requirements for Robotics Automation projects.
Robotics plugins
Robotics plugins make it possible to click through desktop or web applications using commands in WebHarvest scripts. The location for executing the script is configured on the RPA Windows server side.
RPA estimates
- Estimation
RPA server
The RPA component is installed on one or several Windows-based servers where multiple bots are running. Each bot requires a separate RDP session. The number of the required Bot Units per RPA server depends on the disk size and daily load they must handle.
RPA test data management
RPA development (using both code and code-less approaches) assumes mimicking with bot task of SME's interaction with multiple organization systems. During it bot typically drags sort of "transaction" from initial phase down to final phase in terms of use-case scope. Problem is that development requires valid data in initial phase each time developer tries to test his bot task. Now, imagine that 20 developers in team every day launch tests up to 100 times. Obviously, certain amount of valid test data must be re-generated and available every day during design, development, and UAT phases. These requires to establish solid Test Data Management even before any development begins.
Run WebElement commands
The article describes what WebElement is and which actions you can perform on various WebElements.
SAP controls list
The SAP GUI desktop client's internal structure is seen as any other Windows application. SAP GUI is automated using the Inspector tool distributed with the RPA package.
SAP restrictions
Object recording
SAP setup
Before you start working with the SAP GUI client, you have to turn on scripting both in SAP GUI desktop client and on the server side.
SAP tips
Navigate to hidden elements
Search and capture elements in large tables
Starting with Work.AI v10.3, a new search engine is available to enhance performance in large tabular UI automation.
Set up environment
To design RPA in Bot Tasks or test a Business Process on your local workstation, we require you to run Windows OS and install the Work.AI Developer environment as it provides RPA local execution, local Control Tower and all required components. However, IDEA works under Mac and Linux. In this case, you can skip installing Developer. But note that you won't have local Control Tower and Workspace and won't test RPA Bot Tasks on the local workstation.
Simplified Robotics API
Overview
Simplified Robotics API cheatsheet
The article contains a cheatsheet for using the main Robotics simplified API methods.
Simulate keystrokes
Selenium keys enum
Standard WebHarvest processors
Below, there is the description of standard WebHarvest processors together with their attributes, syntax, and code samples you can use to design Bot Tasks.
Support Edge in IE mode
Why it is important
Switch to legacy UI element search
The guide describes how to switch to the legacy ways of searching for user interface (UI) elements in UI-rich JVM applications.
Switch to window
Window selectors
Take screenshots
Screenshot of browser: getScreenshotAs()
Take screenshots of Master user authentication
Sometimes, authentication of the Master user does not work as expected, and it is hard to understand the reason from logs. To view the error type, take a screenshot of the Master user authentication.
Test SAP ALV
ALV, or ABAP List Viewer, is one of the most useful and powerful SAP GUI Controls. When displayed as a list, it might not be identified as a "table" on the screen, rather as a set of text rows/labels.
Test SAP controls
The use case allows to view SAP UI controls. The easy way to test SAP UI controls is to use the transactions DWDM or SE83.
Update browser drivers
Update browser drivers automatically
Use WebDriver waits
How to handle Ajax call using WebDriver
Use XPath in JavaScript
XPath in JavaScript: introduction
View automation technology classification
The following levels of robotic labor classification are measured by the complexity and stability of the underlying technology.
Work with Bot Manager
Bot Manager is an application installed on the Master Server and used to: