- Release Notes
- 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-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
- Test Suite - Studio
- Troubleshooting
Supported SAP WinGUI 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 WinGUI 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. There are at least two radio buttons in a list, and you can only select one.
You can use the Click activity to interact with buttons.
The SAP Calendar allows you to select single dates or periods of time.
You can use the Select Dates in Calendar activity to interact with the SAP Calendar.
Checkbox elements represent a list of multiple choices. One, more, or no options can be selected.
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 the Click activity to interact with the SAP Context Menu. The AA element detection framework is required for interactive selection.
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.
The HTML controls are used to display HTML content inside the SAP WinGUI.
To interact with an HTML page inside the SAP WinGUI, you need to use the AA element detection framework. UIAutomation activities can be used to build processes for SAP HTML content.
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 SAP Logon activity to open SAP.
This activity requires 2 parameters:
- The exact SAP connection name from the SAP Logon or the SAP Logon Pad window used to log on to your SAP system
-
The path to your SAP Logon or SAP Logon Pad program. The default path is obtained from the corresponding system registry entry.
Note: The Indicate on screen function is not required. The SAP scripting interface is used to connect to your SAP system.
Provides the possibility to log into an SAP system.
You can then use the SAP Login activity.
The Multiple Logon Option dropdown gives you the possibility to decide which action should be performed if a user attempts to log into the system several times and the license information for multiple logon window popups is shown. You can select from the following options:
- Continue with this logon and end any other logons in system
- Continue with this logon, without ending any other logons in system
- Terminate this logon
Allows you to select items from the SAP Menu. The SAP Menu is only available in the main SAP WinGUI window.
You can use the SAP Select Menu Item activity to interact with a menu item.
Displays a picture in the SAP WinGUI.
You can use the SAP Click Picture on Screen activity to click the specified image.
Represents a section at the bottom of the SAP WinGUI window which displays messages. It does not show system and login information.
You can use the SAP Read Statusbar activity to extract the message type, text, and data 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 selector is: SAPLDISPLAY46:0389, where the number 0389is dynamically changing and does not allow a stable identification.
The structure of 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 common 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 Standard Table supports all of the common operations that are available, as mentioned above.
The SAP Grid Table supports all of the common operations that are available, as mentioned above, as well as Select/Deselect operations and Data Scraping.
With help of the Click activity or the Check activity you are able to perform all the necessary operations during your SAP automation project, such as:
- Select/Deselect Column
- Select/Deselect Row
- Select/Deselect All
You can perform all the common operations, as mentioned above, on a table cell.
ColumnName
. Additionally, you can filter on columns and rows to
use any other property to identify elements.
ColumnName
, as seen in the example below.
Data scraping enables you to extract structured data from SAP Tables, as exemplified below.
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 WinGUI 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 and multiple header tables and Screen Scraping. One or multiple ALV tables on the SAP screen can be extracted.
This works exactly the same way as mentioned above in Data Scraping for SAP Grid Tables. Pay attention that in some cases, the column tooltip name can be different from the display name in SAP ALV Tables.
columns_name_source='Tooltip'
parameter to define the right way to get the table information.
Multiple header tables
Studio can extract the proper data from tables that have headers spread in two or more lines.
To do this, the metadata exposes the following:
join_type = ['LeftOuter' | 'Inner']
null_value_text = ['(null)' | 'any other user provided value']
Inner join only extracts rows with complete data, ignoring the ones without data for all the headers.
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.
ColorIndex
The ColorIndex, ColorIntensified, and ColorInverse attributes enable you to identify the background color of elements.
This can be used in both robotic process automation and test automation scenarios.
Attribute Name |
Object Type |
---|---|
ColorIndex |
|
ColorIntensified |
|
ColorInverse |
|
The SAP ALV Hierarchical Table represents a list of elements organized in a table with hierarchical structure.
You can use the Expand ALV Hierarchical Table activity to identify any cell inside SAP ALV Hierarchical Table. After the identification of the cell, all typical UI activities can be performed, such as Click, Get Text, and others.
There are two ways of working with the activity: at design time or at run time.
During the design time, you have to select any cell of interest inside the table. The activity captures the coordinates of this cell in activity. The changes are possible anytime.
The target cell is set in focus and the corresponding UiElement is returned as an output argument.
For example, I want to get information about the flight time (6:01) for a specific airline (AA) and for a specific flight number (17).
Level / Focused column: defines which element is set as the focused.
Level 0 / Header column: defines which column and value to find in the header column.
Level 1 / Position column: defines which column and value to find in the position column.
The coordinates of cell containing 6:01 are stored as Output value, variable type UiElement.
The SAP ALV Tree represents a list of elements organized in a tree structure.
You can use the Expand ALV Tree activity to select an ALV node and display the node path in the activity. This enables you to use any other supported activities to work with the specified element.
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 (1)
- SAP Application Toolbar (2)
- SAP Special Toolbar (3)
- SAP GridTable Toolbar (4)
- SAP Generic Object Services (5)
You can use the Click Toolbar Button activity to interact with buttons inside the toolbars.
Represents an alphanumerical code which allows you to access SAP functions or running SAP programs.
Only the transaction code is required when you use the SAP Call Transaction activity.
The transaction code is executed in the current SAP GUI window.
VA01
), the activity sends the /nVA01 + Enter (keystroke)
command to call a transaction.
Please note that unsaved changes in the current transaction are discarded without warning.
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.
If the tree contains a large number of child elements, selection is done as follows:
- Expand the tree in SAP WinGUI and select the element of interest.
- Use Indicate on screen to select the entire SAP Tree.
The nodes to the selected item are displayed in the activity.
If the tree is collapsed and the node or item of interest is not visible, you need to use the SAP Expand Tree activity, which expands the parent tree to an active node or an active item.
- SAP Buttons
- Icons
- Push Buttons
- Radio Buttons
- SAP Calendar
- SAP Checkbox
- SAP Context Menu
- SAP Dialog Box
- SAP Dropdown Lists
- SAP HTML Content
- SAP Input Field
- SAP Logon
- SAP Login
- SAP Menu
- SAP Picture
- SAP Statusbar
- SAP Session Information
- SAP Tab
- Special automation case
- SAP Tables
- Common Operations
- SAP Standard Table
- SAP Grid Table
- Select/Deselect
- Table Cell filtering
- Data Scraping
- SAP ALV Table
- Data Scraping
- Screen Scraping
- SAP ALV Hierarchical Table
- Design time
- Run time
- Navigate within the table
- SAP ALV Tree List
- SAP Textedit
- SAP Toolbar
- SAP Transaction Code
- SAP Tree
- Expand Tree