UI Path
UI Path
UI Path
The Context
To understand the basics of robotic process automation, enroll and learn through
the course Automatix-tool of RPA.
In this course, you will be learning about UiPath (an RPA product):
----------------------------------------------------------------------------------
What is UiPath ?
What is UiPath ?
UiPath is an RPA tool used for Windows desktop automation. It features three main
products:
UiPath Studio
UiPath Robot
UiPath Orchestrator
UiPath Robot - It executes the process built on the UiPath studio (similar to a
person).
It contains steps for the automation process. You can create a project by using
three types:
Sequence
This is the smallest type of project and it follows a linear way of execution.
Flowchart
State Machines
Activities panel - It contains all the activities that are required for automating
different applications.
Properties panel - In this panel, you can change the properties of the selected
attribute.
Designer panel - It displays the current automation project and enables you to make
changes to it.
In the upcoming topics, you will be visually learning about these panels in detail.
----------------------------------------------------------------------------------
Introduction
In the following cards, you will be learning about:
Sequences
Flowcharts
Diagrams
They can be developed with little or no programming knowledge.
----------------------------------------------------------------------------------
Activities
Activities
Name, scope, type, and value are the key features of variables.
The region where the variable is visible and can be accessed is called "scope".
----------------------------------------------------------------------------------
Generic Value Variable
It is a unique variable which makes basic activities easier.
Advantages
Developers can focus on the flow without worrying about the data type.
Disadvantages
It cannot access the default methods that are applicable to specific variable
types.
----------------------------------------------------------------------------------
Advice
It is a good practice to provide meaningful variable names because it helps in
debugging and also to identify its purpose easily.
----------------------------------------------------------------------------------
Types of Variables
The following variables are available to deal with the various types of data in the
UiPath:
Generic - It stores any kind of data like numbers and text in a wide range
Renaming a variable in the variables pane propagates the changes throughout your
project.
----------------------------------------------------------------------------------
Default Value
Default value is assigned to the variable until you assign a new value.
----------------------------------------------------------------------------------
Control Flow
Control Flow
It points to the order in which specific actions are executed in the automation
process.
All these activities are found under workflow => control flow.
These activities help to define the rules and automate the conditional statements
within the project.
----------------------------------------------------------------------------------
Control Flow Activities
Control Flow Activities
Below are some of the activities in control flow.
Assign activity
It is used to pause the automation for a particular amount of time (hh:mm: ss).
It helps in the projects where time plays a major role, such as waiting for a
particular application to give exact output.
Do While activity
It breaks large jobs to small jobs they can be reused in other projects.
Sequence
These can be the part of flowcharts or state diagrams and can be used multiple
times.
----------------------------------------------------------------------------------
Control Flow: Hands-On Task
Create a flow chart with a number guessing game.
The Robot will generate a random number and the user has to guess that number using
Input Dialog Activity.
It should Indicate whether the number is greater, lesser or equal to the guessed
number.
You can try the above task by installing the windows UiPath community edition.
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Intro
In the previous topics, you have learned about the Basics of UiPath, Control flow,
and it's Activities.
In the upcoming Cards, you will learn about Data Manipulation, it plays a crucial
role in Dealing with data for UiPath
----------------------------------------------------------------------------------
Prelude
You have been assigned with the task of splitting a given list of student names
into individual components as a first and last name.
Is there a fast and easy way to get this task done repetitively on an ongoing
basis?
Don't worry at the end of this topic. You will learn to deal with such scenarios.
----------------------------------------------------------------------------------
Data Manipulation
It is the process of changing the data either by adding, removing or updating the
data
Collections - They are used to extract the data from orchestrator queues like
Arrays, lists, dictionaries, and strings.
Tables - These are two-dimensional structures, and the data is indexed using rows
and columns.
Array
It is fixed in size.
List
Flexible in size.
Advanced Methods.
Dictionary
It allows the user to check by name rather than the index.
Container - It gives the context for the button or field you like to use.
----------------------------------------------------------------------------------
Excel and Data Tables
Excel and Data Tables
Data tables are the spreadsheets with rows and columns, and with or without
headers.
If Checked:
If Unchecked:
Read Range - It reads the portion of excel and stores it in a data table.
Write Range - It is similar to the Read Range action, except it needs the data
table to write into the file. It will overwrite the previous entries.
Sort table - Sorts the table from spreadsheet depending on the value of the column.
Read cell - It reads the value of excel and stores it in a variable, but it can be
used only in Excel application scope.
Write cell - It writes the value or formula into specified spreadsheet cell or
range.
----------------------------------------------------------------------------------
Data Table Activities
Below are some of the activities that you will frequently use in data tables
For Each row - It executes actions for each row in the data table.
Output data table - It writes the data table to the string using CSV Format.
Get Row Item - It gets the value from data row depending on the column specified.
Build Data table - Creates the table depending on the specified schema.
----------------------------------------------------------------------------------
Excel: Hands-On Task
Create an excel sheet with multiple columns and perform the following activities in
it.
Read Range
Write Range
Write cell
You can try the above task by installing the Windows UiPath community edition.
----------------------------------------------------------------------------------
Recording
Recording
Recording helps in saving a lot of time for automating the business process.
Types of Recordings
select item - When you select an item from combo box or list.
You can use both manual and automatic recordings to obtain full automation.
They identify the elements by storing the GUI of elements, and its parents by using
the XML format.
Selectors are mostly generated by the UiPath studio if the web pages have a static
UI.
In some scenarios, you have to generate your own selectors because some web apps
may have volatile values.
----------------------------------------------------------------------------------
Structure of Selector
<node_1/><node_2/><node_3>.....<node_n/>
node_1 is basically root node, and it represents the application's top window.
All the previous nodes of the last node are called parents of that particular node.
----------------------------------------------------------------------------------
Structure of Attribute
Structure of Attribute
<ui_system attr_name_1='attr_value_1' ../>
Every node has attributes that explain about the specific level of an application.
Every attribute has some constant value.
If the value changes every time, you start the app, and then selector may face a
problem to identify the UI element.
So, it is a good practice to check the application whether selectors can be used.
----------------------------------------------------------------------------------
Selectors with Wildcards
Wildcard
These are the symbols that replace zero or multiple numbers of characters.
They are helpful when we are changing the data dynamically.
Symbols Used
It starts with the top-level window (Main window) and contains all the information.
Partial selector
The partial selector is enclosed in a container which contains a full selector with
top-level window.
Find Element
Element Exists
It checks whether the element is available and returns a boolean value.
Find Children
Create an automated environment where you can give input as city name and output
should be the latitude and longitude of that city.
You can try the above task by installing the Windows UiPath community edition.
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
UI Elements
The GUI (Graphical User Interface) elements in the application are called UI
elements like windows, checkbox, list.
It helps in better understanding about actions for different scenarios and the
technology behind them.
----------------------------------------------------------------------------------
UI Activities Properties
There are multiple properties under the UI automation category:
Inside a try catch, if this property is set to true, no errors are caught during
execution.
Delay after - Adds a Pause when the activity is done (in milliseconds).
For click and type actions there are three types of methods which differ in
compatibility and capability :
Simulate type/click
Windows messages
Default
Among the three, Simulate type/click is fastest, if you don't prefer keyboard
shortcuts.
If it is not suited then try Windows messages method and choose default at last
option because it is slowest among the three.
----------------------------------------------------------------------------------
Properties of Input
Input methods can be changed at any point of time from the properties panel.
If simulate Type or SendWindowsMessages properties are not checked then the default
method is applied.
OCR (Optical Character Recognition) - It is not 100% accurate, and it is the only
one that provides support for Citrix.
----------------------------------------------------------------------------------
Screen Scraping
Screen Scraping
It enables to extract data from various sources (click on Design ribbon --> wizards
--> screen scraper wizard).
For Example,
Google OCR
Microsoft OCR
----------------------------------------------------------------------------------
Relative Scraping
Relative Scraping
It helps to retrieve text from UI elements by using OCR.
Selectors cannot be used in Virtual Environments because we are using visual labels
of UI elements.
Image activities
Text activities
OCR activities
----------------------------------------------------------------------------------
Image and Text Automation - Intro
These are useful in the Citrix environments where UI automation doesn't work.
UiPath studio provides keyboard and mouse activities like hovering and clicking for
image and text automation.
Click image, Double click image, Hover image - These are fast and reliable but if
the background or color changes, they fail to recognize.
Find Image - It finds the UI element depending on the image provided to it. Once
the image is found, it returns the clipping region of the element.
On Image Appear - It waits for a particular image to appear. They are mainly used
in virtual environments.
Double click text, click the text and hover text - Useful to click the text inside
the element or hover over it.
Find Text Position - This helps in locating the UI elements based on the position
when there is no option to get them.
Get Full Text - This helps in getting the Full text from UI element by using
FullTextScreenScrappingMethod.
Get visible text - It also helps in extracting data from UI element, but it uses
NativeScreenScrappingMethod.
TextExists - It is used to check whether the text exists and returns a boolean
value depending on output.
----------------------------------------------------------------------------------
Mouse and Keyboard Activities
Mouse and Keyboard Activities
They are helpful in creating the automation which needs human behavior.
Technologies used are:
Double click, click, and hover - These activities are used to mimic human behavior.
Double click OCR text, click OCR text, hover OCR text - These are helpful in doing
automation using OCR.
Find OCR text position - This helps in getting the location of UI element by using
text.
OCR Text exists - It checks for the text using OCR and returns a boolean value
depending on the availability of the text.
OCR Engines - They help in extracting the string and its location by using
different OCR engines.
----------------------------------------------------------------------------------
Citrix Automation
Citrix Automation
It is used to automate the Citrix environment.
You can try the above task by installing the Windows UiPath community edition.
----------------------------------------------------------------------------------
Mails and PDF
In the next set of cards, you are going to learn about the following topics.
Automation of mails
PDF automation
Automation-related to PDF's
----------------------------------------------------------------------------------
Mail Automation - Intro
Nowadays email is one of the most effective ways of communication.
UiPath has a set of features which helps in automation of sending and retrieving
emails.
----------------------------------------------------------------------------------
Email Interaction
Below are some of the methods to interact with the mail:
Get outlook mail messages - Used to get mail messages from outlook.
Move outlook mail messages - Used to move outlook messages to a particular folder.
Get POP3 mail message - Uses a POP3 mail to get the message from a specified
server.
----------------------------------------------------------------------------------
PDF Automation
PDF Automation
It is used to extract the data from PDF and XPS files and stores it into variables.
By using range property, you can find the pages of your wish.
----------------------------------------------------------------------------------
Activities of PDF
Below are the activities available in the UiPath:
Read PDF text - It reads the PDF text and stores it into a string variable.
Read PDF with OCR - It reads special characters from the PDF file and stores into
the variable using OCR technology.
Read XPS text - It is used to read the XPS text and store into variables.
Read XPS from OCR - It reads all the characters from OCR technology using OCR and
stores it into the string variable.
----------------------------------------------------------------------------------
Anchor Base
It is a container that searches for UI elements by using other UI elements as
Anchors.
This can be used only when reliable selectors are not available.
Activities
Here are some of the activities which are used with anchor base.
Find Element - It waits until the specified element appears on the screen. Once it
is found, it returns as UiElement variable.
Find Image - It searches for a particular image and returns the clipping region of
that image.
----------------------------------------------------------------------------------
User Events
In the next set of cards, you are going to learn about:
Monitoring Ways
How is monitoring done in UiPath?
With the help of predefined agent assistant from the start menu.
----------------------------------------------------------------------------------
Monitor System Events
It helps in capturing the system events regardless of the applications they are
interacting.
Example:
Example:
You can monitor mouse click on UI elements, where you only see images.
Key (The key is monitored, and special keys are found under activity drop-down
list).
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Working with Project Organization
In the next set of cards, you are going to learn about:
Project overview
Automation standards
Invoke workflow
Advantages
----------------------------------------------------------------------------------
Introdution
Project Organization is one of the important factors in UiPath.
In the following card, you will be learning about each of them in detail.
----------------------------------------------------------------------------------
Automation Standards
Automation standards of UiPath:
Exception handling.
It is the activity used to break the complex workflow into smaller steps.
By breaking it into smaller activities, the user can focus on multiple activities.
Exceptions
Why are exceptions raised?
How to handle them?
Debugging and its techniques
How debugging can be done?
----------------------------------------------------------------------------------
Exceptions
These are raised if an error occurs in the automation.
When an error occurs in the automation, UiPath workflow designer notifies and give
details about issues.
----------------------------------------------------------------------------------
Exception Handling
In order to run the automation process, it is necessary to handle the exceptions
which are raised during the execution.
In the following cards, you are going to learn about them in detail.
----------------------------------------------------------------------------------
Exception Handling
Try/Catch/Finally
Exceptions raised due to coding and data errors are handled using this.
ContinueOnError
If this property is set to true, error is ignored, and the workflow will continue.
It occurs when you try to extract the data which is outside of its capacity.
Image Not Found
If the image is not available in the specified time maybe because of environment
settings or foreground display this exception is raised.
Can't find the UI Element corresponding to this selector
If the control present in selector does not match with any selector, then this
exception is raised.
----------------------------------------------------------------------------------
Debugging
It allows you to observe the execution of a project and find the errors.
It verifies the state of the project and the components to know where the project
went wrong.
----------------------------------------------------------------------------------
Debugging Techniques
Debug mode
Break
Highlight
Slowstep
View outline
Output
Log message
Message box
----------------------------------------------------------------------------------
Tracking
Execution status can be tracked by using Log message.
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Orchestrator - Introduction
Orchestrator - Introduction
It is a web application used to deploy, maintain and manage the robots and process.
Control towers and service desk professionals use this kind of Robots.
Deployment - It delivers the package versions to the assigned robots for execution.
Logging - The logs are indexed and stored in the SQL database and Elastic search.
----------------------------------------------------------------------------------
User Interface
User Interface
Here are some of the interfaces in UiPath Orchestrator
An Environment page displays all the created environments and helps you to manage
robots within them.
This page is filtered according to the type of environments (Dev, Test, and Prod).
Name, Type is used to indicate how the environment is used, Description - why it is
used?
On clicking create, manage environment window is opened, from that, you can select
the robot you need.
Check the robot you need and close the page, settings are automatically saved.
Follow the same path mentioned above and uncheck the robot you don't need and close
the page.
Settings are automatically saved, and the corresponding robot is removed.
----------------------------------------------------------------------------------
Process
Process
This helps in deploying the packages to robot environments.
You can check the jobs list in jobs page. They are available in reverse
chronological order.
Once the package is kept in the environment, it is executed by the assigned robots.
You can assign the robots from the Jobs page or else you can do it from Schedules
page.
----------------------------------------------------------------------------------
Logs
Logs
It displays all the logs that are generated by execution reports and robots.
They can be sent to SQL Database in local /Elastic Search. Both are set to default.
If there are million logs in SQL Database, it leads to performance issues. In that
case, the Elastic search is recommended.
Trace, Debug, Info, Warn, Error and Fatal are the levels in logging messages.
All logs are exported to .csv file by clicking export button, and filters can be
applied for them if needed.
----------------------------------------------------------------------------------
Assets
Assets
Assets help you to store information so that robots can access it easily.
Assets page contains all shared variables used by robots in the process.
Assets can be obtained from studio through two activities - Get credentials and Get
Assets.
There are four types of assets:
Credential contains the username and passwords required for login processes.
----------------------------------------------------------------------------------
Hands-On Task
Are you ready to do some tasks:
You can try the above task by installing the Windows UiPath community edition.
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
SAP and Database
In this topic, you are going to learn about automating one of the largest ERP tool
'SAP' and about Database.
SAP Activities
Database activities
SQL statements
----------------------------------------------------------------------------------
SAP
It is one of the largest ERP tools.
There are some elements in the SAP GUI, that is like in Citrix environments and
considered as a block.
This makes them impossible to use a simple recording or automate tool with SAP.
----------------------------------------------------------------------------------
Database
Database
UiPath uses the built in .Net framework capabilities.
Connection string
Connection wizard
----------------------------------------------------------------------------------
UiPath Database Activities
UiPath Database Activities
Opening and closing connections
Acting inside transactions
Queries - Datatable
Now let's list down the takeaway points from this course.