- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- Control Flow
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- Logging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-NMG-017 - Class name matches default namespace
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DPB-010 - Multiple instances of [Workflow] or [Test Case]
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-021 - Hardcoded Timeout
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-017 - Invalid parameter modifier
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
- Variables
- Arguments
- Imported Namespaces
- Coded automations
- Introduction
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
- Trigger-based Attended Automation
- Recording
- UI Elements
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- RDP Automation
- VMware Horizon Automation
- Salesforce Automation
- SAP Automation
- macOS UI Automation
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Extensions
- About extensions
- SetupExtensions tool
- UiPathRemoteRuntime.exe is not running in the remote session
- UiPath Remote Runtime blocks Citrix session from being closed
- UiPath Remote Runtime causes memory leak
- UiPath.UIAutomation.Activities package and UiPath Remote Runtime versions mismatch
- The required UiPath extension is not installed on the remote machine
- Screen resolution settings
- Group Policies
- Cannot communicate with the browser
- Chrome extension is removed automatically
- The extension may have been corrupted
- Check if the extension for Chrome is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and Incognito mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Chrome
- Chrome Extension on Mac
- Group Policies
- Cannot communicate with the browser
- Edge extension is removed automatically
- The extension may have been corrupted
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Edge
- Extension for Safari
- Extension for VMware Horizon
- Extension for Amazon WorkSpaces
- SAP Solution Manager plugin
- Excel Add-in
- Studio testing
- Troubleshooting

Studio User Guide
Supported SAP GUI for Java Elements
The SAP interfaces contain a variety of specific controls with which you can interact as exemplified in this page.
Represents any button found in the SAP GUI for Java windows. There are several types, each defined by a particular element:
A push button is a simple UI element which gives you direct access to a command in the application.
Radio buttons present a set of options. A list contains at least two radio buttons, and you can only select one.
You can use the Click activity to interact with buttons.
Checkbox elements represent a list of multiple choices. You can select one, more, or no options.
You can use the Click activity to interact with checkboxes.
Represents a list of items inside a context menu. Note that multiple child context menus can be available in a parent context menu.
You can use Java selectors and the Click activity to interact with the SAP Context Menu.
Represents an external window which can hold different types of other SAP controls such as buttons, text messages, or pop-up windows.
Selectors inside a dialog box are generated according to the element they represent.
If you want to close a dialog box using the Close button, you need to use the AA element detection framework.
Dropdown lists allow you to select items from predefined lists.
You can use the Select Item activity to interact with list items.
Represents a specialized field which accepts user input.
You can use the Type Into activity to interact with input fields.
SAP Logon is a locally installed program that you use to directly log on to an SAP system.
You can use the Click activity to open SAP.
Represents a section at the bottom of the SAP GUI for Java window which displays messages. It does not show system and login information.
You can use the Get Attribute activity to read the status properties from the SAP Statusbar.
Displays detailed information about the current SAP session, such as System, Client, logged User or current opened program and transaction.
The following optional selector attributes are available in UIExplorer, and can be used with other activities such as the Get Attribute activity when you build your SAP automation:
sapClient
, sapLanguage
, sapProgram
, sapScreen
, sapSession
, sapSysName
, sapSysNumber
, sapSysSessionId
, sapTransaction
, sapUser
SAP Tab represents a set of buttons which let you access specific information and controls.
You can use the Click activity to select a single tab at a time, or you can use the Select Item activity to choose the tab of interest from a list.
/
in their names, which may lead to identification issues, while using a wildcard in the selector.
/COCKPIT/1
, the selector for one of SAP Tab inside the transaction can be:
<sap id='usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0389/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
The dynamic part of the selector is: SAPLDISPLAY46:0389, where the number 0389 is dynamically changing and does not allow a stable identification.
The structure of the selector is:
?
<sap id='usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0389/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
<sap id='usr/subSUB_MAIN:?COCKPIT?SAPLDISPLAY46:038*/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
The SAP Table represents a standard set of controls for elements displayed in a tabular structure.
In SAP, there are multiple types of tables available. The most commonly used are Standard (default) tables, Grid Tables and ALV Tables. All kind of SAP Tables can be automated with Studio.
You can use the following activities to interact with SAP Tables and their content:
The SAP Grid Table supports Select/Deselect operations, Data Scraping, and the following common operations:
Data scraping enables you to extract structured data from SAP Tables.
column1
, column2
, column3
, etc.).
columns_name_source
parameter to define the way you want to get the table information:
- Longest - The full name of column is extracted and used.
- Shortest - The short name of column is extracted and used.
- Displayed - The visible/displayed name in SAP GUI for Java is used.
- Technical - The technical header name of the column is extracted and used.
- Tooltip - The tooltip name which appears after hovering the mouse over a column name.
The SAP ALV Table supports all common operations that are available, as mentioned above, as well as Data Scraping for simple header tables and Screen Scraping. You can extract a single ALV table on the SAP screen.
This works similarly to mentioned Data Scraping for SAP Grid Tables, with the following exceptions:
-
Horizontal scrolling is not supported. The table must fit horizontally on the screen and be in full view. Any columns out of view will not be scraped.
-
Multiple lines in a cell are not supported.
-
In some cases, the column tooltip name can be different from the display name in SAP ALV Tables.
In case you decide to use Screen Scraping, the recommended scraping method is FullText, and the Ignore Hidden check box should be selected. Please note that only visible text on the SAP screen is extracted by using this method.
To learn more about Screen scraping, please visit this page.
The SAP Textedit control represents an editable text field/editor.
You can use the following activities to interact with this control:
- The Type Into activity for text fields.
- The Send Hotkey activity for buttons which support hotkeys or the Click Image activity for buttons.
The SAP Toolbar represents a set of buttons, which you can interact with. In SAP, there are multiple types of toolbars, depending on the SAP Transaction or SAP Program.
- SAP System Toolbar
- SAP Application Toolbar
- SAP Special Toolbar
- SAP GridTable Toolbar
- SAP Generic Object Services
You can use the Click activity to interact with buttons inside the toolbars.
The SAP Tree represents a list of elements organized in a tree structure. Several types of SAP Tree controls are available:
-
Simple Tree
-
List Tree
-
Column Tree
You can use the Click or the Get Text activity to interact with a node or an item in any of the SAP Tree control types.
- SAP Buttons
- Icons
- Push Buttons
- Radio Buttons
- SAP Checkbox
- SAP Context Menu
- SAP Dialog Box
- SAP Dropdown Lists
- SAP Input Field
- SAP Logon
- SAP Statusbar
- SAP Session Information
- SAP Tab
- Special automation case
- SAP Tables
- Common Operations
- SAP Standard Table
- SAP Grid Table
- Select/Deselect
- Data Scraping
- SAP ALV Table
- Data Scraping
- Screen Scraping
- SAP Textedit
- SAP Toolbar
- SAP Tree