- Global Exceptional Handler ~> The job of RPA Developers becomes easier by using this feature, since the handler only needs to be defined once per each automation project and, unlike the Try Catch blocks, does not need to be attached to each activity. It will execute every time an activity fails to execute.
- Repo Browser ~> It allows you to browse through, open, and save shared automation projects stored in TFS and SVN repositories.
- WebHook ~> Regardless of how complex the app network that was integrated with Orchestrator is, information can be sent to a variety of tools such as dynamic case management, business process management or even customer relationship management programs.
- Development Robot Decoupling feature ~> a “floating” robot can be used between multiple machines by the Administrators in a Development environment without having to associate it with a certain machine. In addition, Standard Attended robots can also be converted to “floating” robots. and only Administrators can access this robot
- VB - > Visual Basic
- To create a variable click on activity dialog box and then create
- Single activity can have multiple input boxes
- Message box is used to print some output to screen, generally used to print the variabes
- Open Browser-> To open a browser by program
- Get visible Text -> used to indicate which text to work on and in output section select the variable name to store the data
- Write Line-> used to write lines
- Open Application -> used to open an application
- Type Into -> used to write something inside the application
- To generate new random values we can use the function
new Random().Next(range)
- To close any application, we can use the
close application
activity.
- Present on right hand side tab
- used to define what our activity will do
- Title -> defines a message as for what the input is made for
- Label -> used to define the question the user will be prompted with
- Result -> the variable to store the input to
- In
UIPATH
variables can store different types of data like- Numbers
- Text
- Images
- Files
- Colors
- Data Types for variables are:
- Integer
- String ( between " ")
- Boolean
- Generic ( All of the above)
- Array of ( A list of any type)
- Default column in
variable
is used to set some default value for any variable Scope
is the region or field inside which a variable will be visible and can be used
- There are 2 types of workflows in UIPATH:
- Sequence ~> If our process is
linear
and involves execution of several consecutive actions,its best - Flowchart ~> If our process involves
complex connections
between activities , thenflowcharts
are more convenient
- Sequence ~> If our process is
- It is used to
assign
some value to a variable - something like
x=7
with x as variable
- It is the process of defining the rules and the automatic decisions that will be taken during the execution of workflow,through the use of if/else decisions,loops,and so on.
%
is represent bymod
!=
is represent by<>
==
is represent by=
**
is represented by^
- To check some in condition inside a flow chart we use
Flow Decision
- It uses
If
activity for checking coditions - It consists of 3 columns
- Condition ~> check the
True
orFalse
condition - Then ~> it does the work if a specific condition is set True
- Else ~> this block is run when the condition is found
False
- Condition ~> check the
- Loops are structures most often used to automate repeatitive tasks
- easily implemented in Flowcharts
- Always make sure to provide an exit point in the flowchart
1. while Loop (pre - condition check)
2. Do While Loop (post - condition check)
3. For Each Loop ( it works on iteration over items of a list just like iteration in python list)
- it is an action that allows you to access all files inside the specifed folder
- To get files from a folder, in this
Misc
section ofSelect Folder
type into theValue
field - to get the list of files use the command
Directory.GetFiles(path-of-folder)
- Type of variable should be array of strings
System.String()
- Certain functions inbuild i UIPATH that are helpful in type conversion are :
- Split
- Replace
- Substring
- Length
- Contains
- Trim
- IndexOf
- ToUpper,ToLower
- ToInt
- ToString
- Scalar Variables ~> Holds a single value of a fixed type, for example Characters , Booleans , Numbers, Date Times
- Collections ~> Like Arrays, Lists and Queues or Strings, Dictionaries
- Tables ~> A Table is siilar to an array of dictionaries where values are accessible by row index and column names
- Generic Value ~> It can represent basic types of data, including text,number and date/times.
ctrl + k
create the variable with appropriatedata type
in properties of a particular activity
- By default
UiPath
is not able to type in a string into a password element - For that purpose, we use
Get Password
activity to create or convert astring
topassword
type varaible
qwerty12345 to ********
- After creating a password type variable simply use
Type Into
activity to perform the task
- TO define an array type variable, with variable type
Array of T
orString[]
and default array can also be written - To define an list we set the variable data type as
List<String>
and with default value asnew List(of String) from ['v1','v2']
Invoke Method
is used to append new elements to theList
- Dictionary has the data type
Dictionary<String,String>
and values can be appended to it using simplyAssign
function and works like normaldictionary
does - Syntax for dictionary is
new Dictionary(Of String,Int32) From {{"key1",val1},{"key2",val2}}
- The string functions here works similarly as
python
- For example, to check if a
String
contains a particularword
just usevariable-name.Contains(word-to-find)
- In
Split(" "c)
function,we can usectrl + shift + space
to find all kinds of examples we can use withsplit
method - In split function we can pass more then one delimeter to split string using an
array
asvariable.Split({"word1 "," word2"},StringSplitOptions.None)
- To print date just use the functioon
Now.ToString
- To print only Month And Year use
Now.ToString('MMMM yyyy')
- Read
csv
files by using activityRead CSV
- To create a
Table
from csv file use the functionoutput data table
- it is preferable used while web scrapping
- To access data from table just like
DBMS
use something likevariable-name.Select("condition")
- To access a specific column of a specific row , use
sampleData.Rows(0)("Name").ToString
- We must use
[]
with theSelect
method when the column name contains spaces. - Accessing a specific value from a row,
row("First").ToString
- To color any cell, we can use
set color range
activity which takes anSystem.drawing.Color.red
variable to highlight any cell with particular color
- How can a string variable called myString be converted to an all-capitals representation for future use?
Ans.
By using an Assign activity with myString on the left side and myString.ToUpper on the right side.
- Which .Net method of the datatable object can be used to filter a table by a condition?
Ans.
Select
- Which activity can be used to loop through each row from a DataTable?
Ans.
For Each Row
- Which activity can be used to modify the value of an existing cell in a DataTable?
Ans.
Modify Cell Activity
- How can you identify a column in a data table?(Select all that apply.)
Ans.
Using column index and name
- Which of the following statements are true regarding the Output DataTable activity?
Ans.
Returns the data contained in a DataTable as a string in a csv format
- The String.Format(“Input = {0} and Output = {1}”, “1”,”2”) expression returns which of the following text:
Ans.
Input = 1 and Output = 2
- How can we test if a given address (a string variable called fullAddress) can be found on a particular street (a string variable called streetName)?
Ans.
fullAddress.Contains(streetName)
- How can the index integer variable be displayed inside a Message Box activity?
Ans.
“Current index is: “ + index.ToString
- Single time
ESC
pause the recording - Double Time
Esc
Stop the recording - To use some kind of
hot-keys
, do the following- Press
Esc
once ~> To pause the recording - In
Type
option use thesend Hotkey
option to use any shortcut
- Press
F2
pauses the recording for 3 secondsRight-click
exit the recording- In
web
recording , it will work similarly asselenium
waiting time - UiPath has 4 types of Recording:
- Basic
- Desktop
- Web
- Citrix
- Citrix is used for automating stuff with virtual machines
- The recorder is able to record:
- left clicks on buttons,checkboxes and other clickable items
- Typing into editable fields
- Some non-recordable things to remember are:
These are Manual Recording
- Keyboard Shortcuts
- Modifier Keys
- Right click
- Mouse hover
- etc
- Desktop recorder is different from basic just because it provides a container based workflow that is different actions in same application are separated by different containers
Indicate on Screen
is a good function that can be used to change the snapshot used for automationText
function in recorder hascopy
function, that can be used to copy some text and store in avariable
which is created itself
- generates a full selector for each activity and no container, the resulted automation is slower than one that uses containers and is suitable for single activities.
- Actions are self-contained
- Simpler Workflow
- Can cause interference
- suitable for all types of desktop apps and multiple actions; it is faster than the Basic recorder, and generates a container (with the selector of the top-level window) in which activities are enclosed, and partial selectors for each activity.
- Actions are contained inside an AttachWindow component
- No interference issues
- More Complex workflow
- designed for recording in web apps and browsers, generates containers and uses the Simulate Type/Click input method by default.
- used to record virtualized environments (VNC, virtual machines, Citrix, etc.) or SAP, permits only image, text and keyboard automation, and requires explicit positioning.
- The Citrix Recording toolbar enables you to:
- Click an image or text
- Simulate keystrokes or hotkeys
- Select and copy text from a window
- Scrape UI elements
- Look for elements or wait for them to vanish
- Find an image or wait for it to vanish
- Activate a window
- Various types of single actions that can not be automated by simple recording are done using manual recordings
- Various Types of Single Actions are:
Start and Stop an App or Browser
~>These single actions enable you to open an app or browser, as well as close them, by pointing and clicking them.Click
~> These types of actions enable you to record clicks on the desktop or a running application, select an option from a drop-down list or combo box, and select a check box or a radio buttonType
~> These single actions include those that require input from the keyboard, such as keyboard shortcuts and key presses. To achieve this, two pop-up windows are used to retrieve your keyboard input.Copy
~> These actions enable you to copy a selected text from an opened application or web browser, so that you can use it later in the project. Screen scraping is also available under the Copy menu, as it enables you to extract images and text from an app or browser.Mouse Element
~> These types of actions enable you to simulate mouse movements that cannot be recorded but give you access to more functionalities, such as right-clicking, hovering or double-clicking.Find Element
~> These types of single actions enable you to identify specific UI elements or pause the automation until a particular window closes or an UI element is no longer displayed. The find relative element action is useful with apps that do not allow direct interaction with UI elements, such as Citrix.Window Element
~> Window element actions enable you to close windows. Studio does this by hooking in the operating system to make sure the application is closed.Text
~> Text single actions enable you to select or hover over text to make tooltips visible for scraping, right-click to make the context menu visible, copy and paste text and many others.Image
~> Image single actions enable you to wait for a specified image to disappear, to find a specific image in an app or website, right-click or hover over an image and others. This type of manual recording can be useful with UI elements that are saved as graphics, as they cannot be highlighted as normal fields or text
- How can you delay the Automatic Recording?
Ans.
By hitting the F2 key
- Can you combine automatic recording with step-by-step recording in the same recording sequence?
Ans.
Yes
- Which recording wizard would you use to automate Virtual Machine actions?
Ans.
Citrix Recording
- When is it recommended to use Desktop recording?
Ans.
When you automate more steps in the same window
- Which container will Basic Recording generate?
Ans.
No container
- Data Scraping is a function which can be used to Record any kind of data which is available in
link
form - For any kind of link to be extracted as data, you need to specify atleast two links together
- Then click on
next
and provide thecolumn names
of each column or data type you wish to scrap data and want incsv
orexcel
file - To extract more data of different type , click on
Extract correlated data
and follow the above steps only - The maximum number of fields represent the number of entries you wish to scrap over the webpage
- After this, click on
finish
and click on thenext
button over thewebpage
from which you are scraping the data - The above task will make sure that the page will be click next as soon data from single page is extracted successfully
- Data Scrapper is also able to extract a
tabular data
as well very easily, as it extracts the table itself on just single click
- Default (Generally used,hotkeys can be used)
- Window Messages(Can work in background,hotkeys can be used)
- Simulate Type (Fastest,used or prefered with Virtual Machines,hotkeys can not be used)
- Full Text ~> High speed and accuracy, can work in background and able to extract the hidden text
- Native ~> Get text by position with high speed but unable to work in background
- OCR ~> uses google and microsoft OCR and works great with citrix automation
- There are multiple activities that can be used to automate apps or web-apps and you can find them in the Activities panel, under the UI Automation category.
- ContinueOnError – specifies if the automation should continue, even if the activity throws an error. This field only supports boolean values (True, False). The default value in this field is False.
- DelayAfter – adds a pause after the activity, in milliseconds.
- DelayBefore – adds a pause before the activity, in milliseconds.
- TimeoutMS – specifies the amount of time (in milliseconds) to wait for a specified element to be found before an error is thrown. The default value is 30000 milliseconds (30 seconds).
- WaitForReady - Before performing the actions, wait for the target to become ready. The following options are available:
- None - Does not wait for anything except the target UI element to exist before executing the action
- Interactive/Complete - Waits all of the UI elements in the target app to exist before actually executing the action.
- Which is the best option for scraping tables from a web page?
Ans. Data scraping wizard - What is the Data Scraping wizard for?(Select all that apply.)
Ans. [Extracting whole tables from the web or other applications,Extracting correlated data from the web or other applications] - By using the Full Text scraping method, the robot is able to:
Ans. [Get editable text.,Get hidden information.,Get the entire visible text.] - Which of the text extraction methods can return the hidden text from a UI element?
Ans. FullText - Which of the following text scraping methods preserve the text position?
Ans. [OCR,Native]
- Selectors are the way we identify User Interface elements on the screen. They are a xml string which contain some properties that uniquely define the specified element.
- These are of 2 types:
- Full Selectors ~> Used in general automation
- Partial Selectors ~> Comes in use when containerisation automation is done
- A selector has the following structure:
<node_1/><node_2/>...<node_N/>
- There are basically 2 types of wildcards in UiPath that are:
*
~> Replace any number of characters?
~> Replace exactly one character
- It is an activity that is used to simple
Highligh
an UI Element as the name suggestes
- It is Automation Tool which is used to easily manage or edit the Selectors
- To add some variable inside the selector the following way should be followed
<wind some-selectors-code "+ variable name +" further selector code>
- It is used to be able to automate and manage dynamic selectors faced during web automation
- This activity is used to find
elements
with unreliable selectors - It uses the position of elements on screen
Find Element
this column is used to indicate the reliable field in the element we wish to search for our automation such as the name of the fieldActivity Field
is used to declare the task to be done once the indicated element or field is finded byAnchor Base Activity
Anchor Position
~> it is the property of this activity which can be used to define the position where the required element to search for
- It works in background and relies on the internal structure of application
- Various properties of selectors are:
- Validate ~>The button shows the status of the selector by checking the validity of the selector definition and the visibility of the target element on the screen.
- Indicate Element ~>Indicate a new UI element to replace the previous one.
- Repair ~> Enables you to re-indicate the same target UI element and repair the selector. This operation does not completely replace the previous selector. The button is available only when the selector is invalid.
- Highlight ~> Brings the target element in the foreground. The highlight stays on until the option is disabled with a click. The button is enabled only if the selector is valid.
- Edit Attributes ~> Contains all the application components needed to identify the target application (a window, a button etc.). This section is editable.
- Edit Selector ~> Holds the actual selector. This section is editable.
- Open in UI Explorer ~> Launches the UI Explorer. The option is enabled only for valid selectors.
- Can variables be used to build dynamic selectors?
Ans.
Yes
- How can you see the full list of attributes of Ui elements?
Ans.
By using the UiExplorer tool.
- What is a Selector?
Ans.
The “path” to the UI element, starting from the root, all the way to target element.
- Which of the following is true regarding the Anchor Base activity?
Ans.
Use the screen position of the anchor and the target element.
- What are the supported wildcard characters for selectors in UiPath Studio?
Ans.
* and ?
- Using
click image
we can click on almost anything that is button,checkbox,textfield etc Click Text
uses oCR to scan the screen of Virtual Machine... where asclick image
faster and more reliable ut fails only if background color changes- This is done using
Image Recording
, it is preferred to be used when we are working on an image of a system that could be referred as theAWS instance
or aVirtual Box
- In this , the main function of recording is
click image
and the recording to be done manually only click image
-> this functin or activity is used as dragging and selecting an area with respect to which we can decide where to clickclick Text
it does the same way asclick image
but in a different manner, it takes an OCR of the image and tries to find the element with samename
as provided andclick
with respect to its position
- If sometimes, the
mouse actions
fails to find the element , we can use the keyboard actions and automate the workflow using thekeyboard shortcuts
such astab
,ctrl+v
etc.
- this activity is used to copy the
selectable
fields inside an virtual environment - it works similarly as , selecting the field we wish to copy
- This activity is used to copy data from
non-clickable
area which is done or preferred to be done usingGoogle OCR
and it can be set to find element with respect to somerelative position
- Creating automations in a Citrix environment is challenging because:
Ans.
You need to interact with the app using Image Recognition or OCR.
- Is Reset Clipping Region mandatory to be executed at the end of a scrape relative sequence?
Ans.
No, for the next actions we can use other Clipping Regions.
- What activities can be used to interact with applications in a Citrix environment?
Ans .
Type into, Click Image, Click Text
- How can you scrape a field on a Citrix Environment when the value in that field changes each transaction?
Ans.
Find a static element nearby and use Scrape Relative
- Click Image and Click OCR Text are not 100% reliable in Citrix environments. What method can be used instead (when applicable) to have safer actions?
Ans.
Setting focus on a reliable element and then navigating around the app using keyboard (up/down arrows, tab, etc) or using keyboard shortcuts.
(Failed in above attempt) - Having an app in a Citrix environment with multiple text-boxes that look the same (size/style), how can you identify one of them to type into?
Ans.
By clicking relative to an unique text/image next to the textbox., You can’t identify it if it doesn’t have something unique next to it (text/image).
- Is it possible to click a button with Click Image Activity if the target is not visible on the screen?
Ans.
No, you could click a button which is not visible only using selectors
- Consider having an application in Citrix Environment that has a button named ‘Accept’ and also a label that contains the Accept word. How can Click Text be customized in order to access the correct button?
Ans.
By using the Occurrence property.
- How can you improve accuracy when scraping with OCR a region that contains only digits?
Ans.
Use Google OCR with “Numbers Only”
(Passed in above attempt)
- This activity is used to
pause
the state of program until an certainElement
is not found or loaded completely - As output it gives the
element
which is defined to be found
- it is used to detect/show/highlight a certain element over screen
- Highlighting a certian element can be done using
- Clipping Region
- Selector
- Element
- Highlight Time ~> The timeout or the amount of time for which to
highlight
a certain element is calculated inmicroseconds
that is2000 == 2 sec
- In highlight the color can be defined as well for customized workflow
- A better practice to open a certain
app
orapplication
is to setshortcuts
and open the app usingsend hotkey
activity
- This activity is a container based activity which further accomodates
Pick branches
- This activity is used to set a certain activity to be completed in different possible conditions or scenarios
- Basically we provide a same action like
opening a folder
to be automate but in more then one possible condition ofscreen
orbackground
- What can be done when the Windows Remote Connection doesn’t allow sending hotkeys?
Ans.
It should work if the Windows Remote Connection is in ‘full-screen’ mode.
- How can the robot pass a variable argument when opening an application in Citrix (eg: a web address for a browser)?
Ans.
In the command prompt, type in the path to the application and the argument
- Which of the following activities can be used to select an item in drop down list, in Citrix?(Select all that apply.)
Ans.
Click Image , Click OCR Text
- What happens if Find Image doesn’t actually find the desired image?
Ans.
An exception is thrown..
- What is the EASIEST navigation method to be used in a form within Citrix?
Ans.
By sending keyboard commands/hotkeys
(Passed)
Excel application scope
~> it is a container based activity and is used to do all workflows regarding the Excel fileVisible
~> It is an inbuilt activity which if we checked tellsUiPath
to work on file usingMSOffice
and if not then all tasks are performed internally- While using Direct access only single process can work where as while using MSOffice multiple can be done at the same time
- A range can be specified by defining the cells separated by
:
.A1:C5
Build Data Table
~> this activity is used to create more data tables with very easy and simple GUIAdd Data Row
~> this activity is used to add another row(data) inside the build data table activity or table made from itAppend Range
~> It is used to append more data to same file- Data tables are
zero-indexed
same as alist in python
sort data table
~> This activity is used to sort some tabular data based on a certain columnSelect Range
~> This activity is used to select a range of cells over which further actions likecopy/delete/paste
can be performedJoin Data Table
~> This activity is used to perform theJOIN
operation- The
Join Operation
is of 4 types:- inner join
- left join
- full join
- The
- The table join
criteria
can be defined using eithercolumn data type
or simple bycolumn name
written insidedouble-quotes
- the conditions can be set as more then one or either on one using
AND
andOR
logical operators Output Data Table
~> This activity is used to convert adata table
type variable toString
Read Cell
~> used to read a specific cell from an excel fileWrite Cell
~> used to write in a specific cell from an excel file- All numeric data read by
Read Range
function from Excel is interpreted as anDouble
data type Get row item
~> this activity is used to fetch the values of a specific column from a certain rowAdd data row
~> this activity is used to add a new row in anExcel file
using anarray of data
which is defined usingcircular or curly
brackets as(var1,var2) or {var1,var2}
inputsTable.Rows.Count
~> it can be used to count the total number of rows- Use of
Workbooks
is prefferable overExcel files
as they do not require Excel to beinstalled
- What happens if the AddHeaders option is checked for Read Range Activity?
Ans.
The first row from the specified range is considered to be the column names
- In order to loop through all the rows of a data table, which activity should be used?
Ans.
For Each row
- What activity can you use to create a DataTable from an input string?
Ans.
Generate Data Table
- What happens if you try to use a Write Range activity to a .xlsx file that does not exist?
Ans.
It will create that file for you and write the data in it.
- Can Excel related activities be used without having the Excel Application installed?
Ans.
Yes, but only for xlsx files
(Passed)
Read PDF
~> This activity is used to read text from a PDFRead PDF with OCR
~> It goes by the name and is able to read theImage Text
present in the PDF- While using OCR to read PDF's , we have got 3 options
- Google OCR
- Microsoft OCR
- Abby's OCR ~> Maintains the structure of text present in PDF
- PDF activities are categorised into 2 parts:
- Processing large chunks of data
- Working on specific part of the file
- Anchor base method is more reliable then others since it can handle structural changes
- While trying to read text it is preferable to use
Read PDF
rather thenRead PDF with OCR
as OCR is more prone to errors - In properties of PDF, the range of PDF pages can be set in the following format
"1-4"
- Will the Read PDF with OCR activity open the PDF document on the screen in order to read it?Will the Read PDF with OCR activity open the PDF document on the screen in order to read it?
Ans.
No
- What is the easiest way to get the invoice number from a native PDF file?
Ans.
Open the PDF file with Adobe Acrobat Reader and scrape only the relevant information.
- Which of the following activities requires the PDF file to be opened with Acrobat Reader in order to read it?
Ans.
Get Text
- How can a robot read only the first page of a PDF file, using the PDF activities?
Ans.
Set the Range property to: “1”
- If the PDF contains both images and native text, what activity should you use to read all the text from it?
Ans.
Read PDF with OCR
- Various activities supported in
email automation
are:- SMTP ~> used to send mails
- POP3 ~> used to recieve mails supported by various domains
- IMAP ~> supports reading messages as well as marking them read or shifting to different folders
- Exchange ~> Microsoft supported activity for all kinds of email activities
- Outlook ~> automate the pre installed outlook software
- Four activities present to check mail are :
- POP3
- Outlook
- IMAP
- Exchange
- The data type of messages is
System.net.mail.message
Save Attachments
activity is used to save attachments from a mail, it requires two arguments amail type instance
and path to save foldermail.Headers('Date')
provides the Date Timestamp for any mail- to filter mails fetched by UiPath set a filter in the properties menu such as
"[RecievedTime] > '14/10/2019 09:41 AM'"
or"[RecievedTime] > Now.AddDays(-1).ToString('MM/dd/yyyy hh:mm tt')"
Take Screenshot
is the activity used to take a screen shot at run time which is to be saved in a certain location usingsave image
activity- The
attachment
section of theSend Mail
activity requires a file path to be sent - To make something like message Dynamic in
sending messages
we can use format type same aspython
just replace the content to be changed dynamically with{0}
and provide the argument inbody section
of send mail activity
- What activity can you use to send an email without entering the username and password of the email account?
Ans.
Send Outlook Mail Message
- What activities can you use to send an email message?
Ans.
Send Outlook Mail Message. and Send SMTP Mail Message.
- What is the supported variable type in the Output property field of all Get Mail activities (POP3, IMAP, Outlook, Exchange)?
Ans.
List (MailMessage)
- If you are using the For Each activity to loop through a list of MailMessage variables, what should you set the TypeArgument property to?
Ans.
System.Net.Mail.MailMessage
- The Send Outlook Mail Message activity will work without having Microsoft Outlook installed:
Ans.
False
- Which of the following properties are found in the Get Outlook Mail Messages activity?
Ans.
MailFolder
- Which of the following activities will allow you to only retrieve only unread messages? (Select all that apply.)
Ans.
Get OUTLOOK Mail Message and Get IMAP Mail Message
- If you want to get only filtered MailMessage variables, what activity should you use?
Ans.
Get Outlook mail messages
- Which Visual Basic property within the MailMessage class will you use to get the Date of an email?
Ans.
Headers(“Date”)
(Passed)
- Slow Steps ~> This is the tool provided with
Debugging Toolkit
, it highlights each activity executing - In Options ~> Highligh Element activity ,
highlights
theUiElement
being interacted with aRed Color
- Breakpoint ~> It is set an activity where we feel some error migth occur and then we have 3 options to continue our program execution
- Continue
- Step Over
- Step Into
- In
Input Activities
we have an optionSimulate check
in their properties which tend to send the input usingBackground Processes
without using themouse or keyboard
Timeout
property makes theactivities
wait for an element to appear or the activity to execute before giving an errorElement Exists
~> This activity returns aboolean
value that isTrue
orFalse
for an Element to be present on sceen or notLog Message
~> this activity can be used to set or give some message in output tab given in right side Properties panel... that is seen while executionFind Element
~> Stops the workflow until an element is foundWait Element Vanish
~> Waits for an element to disappear before continuing
Try Catch
activity ~> it works same as in programming , if any activity fails inTry
block thencatch
block will run followed byfinally
blockSystem.Exception
~> It catches all types of errors- To select all activities, it is easy by just dragging the cursor on all
- Once the type of Exception is selected in
catch
block.. followed byenter
collapses thetry
block and we can start addig activities to work when error occurs rethrow
activity ~> is used incatch
block to show an error popupexception.message
this is aprimitive
variable which contains the error message that might have occured
-
There are 6 log levels in UiPath:
- Verbose
- Trace
- Information
- Warning
- Error
- Critical
-
Each log level has its own significance
-
Verbose < Trace < Information < Warning < Error < Critical
-
Creating user-defined log fields that have the same name as a default log field causes the logging process to become corrupted and may cause issues in the workflow you are running.
-
Various Default Log Fields are:
- Message - The log message.
- Level - Defines the log severity.
- Timestamp - The exact date and time the action was performed.
- FileName - The name of the .xaml file being executed.
- jobId - The key of the job running the process.
- processName - The name of the process that triggered the logging.
- processVersion - The version number of the process.
- windowsIdentity - The name of the user that performed the action that was logged.
- robotName - The name of the robot (as defined in Orchestrator).
-
for type conversion to integer we can use
CInt
asCInt(variable)
-
You can separate individual components of your automation into different workflow files and then call them using
Invoke Workflow.
- If you need to know if a UI Element is available on the screen or not, what activity should you use?
Ans.
Element Exists
- What does the Locals panel display when you are working in Debug mode?
Ans.
The current values of your variables.
- How many Catches can you have in a Try/Catch block?
Ans.
There is no limit on the number of catches.
- What activity can be used in a Citrix environment to check whether a UI element is displayed or not?
Ans.
Image Exists
- The Finally block of a Try/Catch activity is executed when:
Ans.
Every time, regardless if an exception occurred or not.
(Passed)
- Following the best practices makes our project:
- Reliable ~> Solid Robust workflows that can handle errors
- Efficient ~> Shorter development time and smooth execution in production environment
- Maintainable ~> Easy to update when changes are required
- Extensible ~> New Usecases can be added
- Pick an appropriate layout for each workflow
- main WF -> flowchart/ state machine
- bussiness logic -> flowchart
- Ui Interactions(woring in same order) -> Sequence
- Avoid nested If else and use flowchart instead
- Break the whole process into smaller workflows
- Develop and test pieces independently
- reuse workflows across projects
- collaborate working on separate files
- Use Exception Handling
- Put problematic workflows inside Try_Catch
- Put externally invoked Workflows
- Implement recover sequence
- Make your workflows readable
- Give descriptive names to activities
- leave explanatory notes and comments using
comment
activity - log real time execution process
- Keep it clean close applications,windows and web pages not being used
- UiPath offers an activity same as
import
in python that isInvoke Method
activity - In this activity , we can execute any workflow and even pass arguments and import arguments
- Arguments just work as values which are provided for variables and these arguments or values of variables, can be either given as input or can be extracted as an output for another activity
Direction
column in variables define the redirection of values which can beIn
orOut
or bothIn/Out
Deserialize JSON
activity ~> It is used to parse ajson
file and can be used to read or extract data from it- to convert a variable... we can do it like
convert.ToInt32(variable-name)
- What is the recommended layout for sequential activities?
Ans.
Sequence
- What type of arguments can you use in a workflow?
Ans.
In/Out Out In
- Is notifying the user via a Message Box activity a good way to keep track of a workflow’s execution progress ?
Ans.
No
- What is the recommended layout for a sequence of UI interactions?
Ans.
Sequence
- Which of the following is a good example of a workflow name?
Ans.
GetCustomerNumber.xaml
(Passed)
(Passed Successfully)
Link TO Version Details Of Different Orchestrators
UiPath Orchestrator
is a web based application- It Enables efficient resource management
- It allows Workload allocation, Scheduling and monitoring of robots
- Streamlines the teamwork
- This activity is used in workflow to stop a executing process from
Orchestrator
- It return a
Boolean Value
which can be used byDecision Flow
- In UiPath Studio we have an activity called
Get Asset
- It gets the
asset
value from the Orchestrator and this activity works only when theworkflow
is published to Orchestrator Asset
is basically just a variable which can be defined in the Orchestrator and used by the workflow- It can be specified for multiple robots or individual that is using same
asset variable
for multiple bots withdifferent values
- In properties panel, name of asset should be written as string that is if the name is
Name
then in properties write it as"Name"
- Assets are of 4 Data Types:
- Credentials
- Text
- Boolean
- Integer
- Credentials type requires 2 input values (Username and Password) in
Studio
as well as Orchestrator - Basically when
Credential Asset
is made with two values which areUsername
andPassword
- Then they are fetched and used at run time in Studio using
Get Credential
activity - To use the pass acquired from the
Get Credentials
we would need to useType Secure Text
activity - To use Windows Credentials use
UiPath.Credential.Activities
- This activity is used to decrypt the
.NET
secured string from encrypted password to normal decrypted text
- the transaction items in a queue are processed in chronological order
- The items inside Queues can be processed by multiple Robots.
- This activity is used to send values or add the items to Queue in Orchestrator
DeadLine
~> This property is used to set a sepecific time limit within which the queue item is supposed or required to be processed e.g.,datetime.Now.addHours(24)
PostPone
~> This property is used to postpone the activity upon reachingDeadline
by sometime
likedatetime.Now.addHours(2)
- Multiple robots can be assigned to process the same Queue
Reference
property can be set to an item to identify it uniquely in OrchestratorItemInformation
~> this property is used to define the values to be added in the Queue present in Orchestrator
- This activity is used to fetch values or items from the
Queue
made in Orchestrator - When this activity is set into loop it iterates over and fetch all the items in the Queue
transaction.SpecificContent("Column-name").toString
- It is used to set status of the processed item from the Queue
- If the Status is not set by the
Robot
then it is set toAbandon
automatically after 24 hour
- It is used to set some Value for the progress column in Orchestrator regarding the Processes in Queues
- Pressing Stop requires you to use the Should Stop activity in Studio while developing the process. The activity returns a boolean value. It informs whether the Stop button has been pressed in Orchestrator by the time the Control Flow reached the Should Stop activity. This is similar to a Save Game function in a computer game.
- Pressing Kill is the equivalent of stopping a process from the Studio. Orchestrator will connect to your Robot and send a stop command to the process.
- Trigger is like Scheduling a process that is having Orchestrator press Play for you at a time which you specify.
- Create your workflow that you wish to deploy over Orchestrator
- Open the Following url Cloud Uipath
- In
Service
section , select theStudentDefault
service (UiPath Orchestrator will be opened) - Create a machine
- Click on Machine in Left panel under
MANAGEMENT
section - Click on
+
icon followed byStandard Machine
- In Name write the Name of your Laptop(you can get that from next step) and Description as you like
- Click on Provision
- Click on Machine in Left panel under
- Open UiPath Robot on your local Machine
- Click on
Settings
icon - Select
Orchestrator Settings
option - Enter the Machine Key(you can get that by clicking on
edit
on Machine made in previous step) - In Orchestrator Url type the cloud-orchestrator-url
- Click on Connect(Local System gets connected to Orchestrator at cloud)
- Click on
- Now to Add your Robot
- In
UiPath Studio
, click onPublish
button given in Design Panel(just click ok) - Select
Machine Name
given in previous step - In Username, type the name configured with your
UiPath Studio
- Click create
- In
- Set Environment
- In Robots tab, Click on environments
- add a new environment
- Click on
manage
in properties of environment - Select your
robot
and click onUpdate
- Set The Process
- Go to
Process
Tab - Click on
+
icon - Select the
Package Name
andEnvironment
- Click on Create
- Go to
- Finally you are ready to run/execute your bot
- Go to
Jobs
- Click on Start Button
- Select The Process made in previous step
- Select your
Robot
- Click Start and all done
- Go to
- This Framework is a Template provided by UiPath for
transactional
activities or workflow - Transactional Activities~> Basically every project can be divided into 4 states
- Initial State ~> Start/Open all applications
- Get Transactional Information ~> Take Input or Fetch from Queue/Excel all the Data need to be processed or used for processing
- Process Transaction ~> Process all the information(calculation,Decision taking,Data Conversion etc)
- End Process ~> Close all the applications which are not required
- It can be accessed through
START
panel ofUiPath
Studio in theTemplate
Section - REFramework consists of few pre-build workflows which are used to simplify the Automation Task in a proper manner that are:
- InitAllSettings ~> Processes / Reads the config file containing essential details
- InitAllApplications ~> Start the Initial State and Open all neccessary applications
- GetAppCredential ~> In terms of Login , gain user credentials with proper security
- GetTransactionData ~> Get Transactional Information from User/Queues/Excel Files etc
- SetTransactionStatus ~> Set the status for information being used(Processed/retried/abandon/NeedToBeProccessed etc)
- KillAllProcess ~> To Stop the Process completely on recieving
STOP
signal - CloseAllApplications ~> Close the applications in Workflow as soon as their work is completed
- TakeScreenshot ~> During Exception Occurrence, Used to Take Screenshot and store in
Exceptions_Screenshots
folder,to help developer
- RefFramework is based on the principle that data is stored in the form of a
Queue
that isFIFO
- Building productive Robots require:
- Proper Exception Handling(try_Catch)
- Recovery Abilities(ReStart or Recover from Possible failures)
- Effective Logging(Secure the Status of Each part of workflow)
- Reporting Functionalities(logs and screenshots)
- High Maintainability
- Extensibility(Easy to modify)
- Reusability
- Ease of Development
- The Framework files can be downloaded from the following
Github
Repository link FrameWork Request Credential
~> This is an activity used to getcredentials
from user same asinput dialog
- This Framework mainly works on State machine activity which includes
- Main State Machine
- Exceptions Handling
- Recovery Methods
- States
- InitState(Config file,InitAllApplications) ~> Initialization(Open Application,login to website,startup required values etc)
- Get Transaction Data(TransactionItem,TransactionNumber)
- Process Transaction
- End State
- SetTransactionStatus
- GetAppCredentials
- In The Reframework, it is the Initial
xaml
file to be used - It contains a Config workbook with 3 sheets
- Settings ~> We can store any configuration related to the business process such as Urls,filepaths,credentials and any process specific piece of information
- Constants ~> It stores the technical settings that are useful for Developers, it contains information like number of delays , retries, timeouts,image accuracy settings, static log parts
- Assets
- In Settings Sheet , there are 3 columns
- Name ~> Always contains a string which is the key in the Dictionary
- Value ~> Holds the dictionary value
- Description ~> Holds the detailed account of each setting
- There are 2 kinds of Exception that are:
- Business Exception ~> In Case of issues in data , invalid data,missing information in data.
business rule exceptions are something you defined while building the process(exceptions which are expected and there is no chance of record getting success even if we retry)
Transaction status is
set as failed
and transaction isnot re-tried
- System/Application Exception ~> In case application not available(UI Element not available or unknown error)
Transaction is
re-tried
- Business Exception ~> In Case of issues in data , invalid data,missing information in data.
business rule exceptions are something you defined while building the process(exceptions which are expected and there is no chance of record getting success even if we retry)
Transaction status is
Note:
- In case Exception occurs anywhere we set
SystemError
toexception
with data typeExeption
- At Every Phase of This Framework , logging is done for better development experience and Easy Debuggig
- We always initiate the workflow with
main.xml
file- It contains a Flowchart with following Transactions
- Init
- Get Transaction Data
- Process Transaction
- End Process
- It contains a Flowchart with following Transactions
- Starting With
Init
transaction, It contains a Try_Catch_Finally block of activity- Assign a
SystemError
variable to nothing which used for Exception Verification - For first Time,by default reads the config file present at
Folder/Data/config.xlsx
to acquire basic pre-set settings/values and kills all initally running processes as defined inKillAllProcesss.xaml
- Run
InitAllApplications.xaml
to open all required application upon which we have to work
- Assign a
- Upon Failure of above process we move to
EndProcess Transaction
else- Move to
Get Transaction Data
transaction - It checks for
StopSignal
that is recieved fromCloud Console
- Starts to access/fetch data from Queue in Orchestrator using
Get Transaction Item
which gives an Queue as output - If some Error occurs,logs are set and
TransactionItem
is set toNothing
- Move to
- If no data/TransactionItem is fetched from above Transaction, The workflow moves towards
End Process
transaction else- Move to
Process Transaction
- In this, we initiate the main
Processing
workflowxaml
file that uses the input and complete the task - If Some Error is Faced the workflow sets the
Bussiness Exception
andSystem Exception
to initiate the Recovery Process - Most of the time, Upon recieving Error, its best to stop the processing
- After Completion of the activities.. a
Finally
block is used to always set thetransaction status
of each Transaction Item
- Move to
- Upon Reaching the
End Process
transaction- It intially try to normally
Close
all applications and upon not being able to do so - It uses
KillAllProcess
to forcefully to its work
- It intially try to normally
-
A transaction represents the minimum amount of data and the necessary steps required to process the data, as to fulfill a section of a business process
-
Once processed, the data is no more required
-
A Business process can be divided into 3 categories:
- Linear ~> The steps of the process are performed only once and, if there is the need to process different data, the automation needs to be executed again.
INIT ~> GET DATA ~> PROCESS DATA ~> END
- Iterative ~> The steps of the process are performed multiple times, but each time different data items are used
INIT ~> GET DATA ~> | Process Data in Loop | ~> END
- Transactional ~> Similarly to iterative processes, the steps of transactional processes repeat multiple times over different data items. However, the automation is designed so that each repeatable part is processed independently
-
Dispatcher ~> The dispatcher is a process used to push transaction items to an Orchestrator queue. It extracts data from one or multiple sources and uses it to create Queue items to be processed by Performer robots.
-
Performer ~> The performer is a process used to pull transaction items from an orchestrator queue and process them as needed in the company. Queue items are processed one at a time.It uses error handling and retry mechanisms for each processed item.
-
Dispatcher and Performer models advantages:
- Better seperation of processes (between dispatcher & performer)
- Better separation & distinction between architecture and process layers
- Better error handling and retry mechanism
- Possibility to run processes across several machines (availability)
- Better re-usability within your project's created components
- Improved built-in configuration & Orchestrator integration
- Previous workflows created without REFramework can be easily adapted and deployed in order to use REFramework and the dispatcher / performer model
- In Config file, we have got 3 sheets
- Settings ~> Contain data we wish to access such as email,url,username or password
- Constant ~> Something like retry count
- Assets ~>
- A Config variable is of
Dictionary (String,Object)
- Reframework can be used for multiple input types (queues,datatable,array,list et)
- Presentation Layer(accessed via browser)
- Communication between clients (browser,robots) and Orchestrator is encrypted using the secure https channel
- user session is saved in a session cookie(with a configured expiration time)
- the password complexity is configurable
- account automatic locking after a configurable number of failed attempts
- Protection against CSRF token
- Service Layer(containing the business logic)
- Role-based access control(RBAC)
- no data sent outside customers network
- logging - default actions are logged for auditing, and so are the users actions
- the section containing the encryption key in the configuration files can be encrypted
- Persistence Layer ~> Build using SQL and elastic search
- encrypted communication with SQL server
- each password is encrypted with a different encryption key
- login attempts are logged - result ,IP Address, timestamp , browser info
- user roles can be defined for data stored in SQL server to prevent unauthorized access
- Robots having access to Credentials normally used by human workers
- Robots having access to privileged information such as personal data of commpany staff, financial data
- Unauthorized modifications of automation workflows in the development or testing phase
- Unauthorized modification of automation workflows or runtime parameters in the production environment
Features are the characteristics that are embedded in the product or solution and implemented in order to enhance the security and mitigate risks
Best Practices to be used while setting up RPA workflows
- It aims to ensure that the process that will run on the live data is safe and no security breaches are possible
- Checks whether the credentials are used only where needed and are not passed outside the trusted environment
- Prevent sending sensitive data outside the trusted scope
- We can keep track of RPA projects with multiple developers in working by keeping the source code files(XAML files) in
Source Code Control System
- To Store Credentials in UiPath we use:
- Orchestrator Credential Assets ~> encrypted using
AES 256
and stored on theSQL server base
but should be configured withvalue per robot
to prevent unauthorized access - Windows Credential Manager ~> works as a local machine storage and should be used only in case Orchestrator in not accessible
- Orchestrator Credential Assets ~> encrypted using
- Configuring a trusted Channel : VPN Connections,secure FTP sesions, HTTPS websites
- Data encryption, when using untrusted channels
- Usage of limited access environments, such as restricted shared folders or restricted Sharepoint domains
- During RPA Projects the
Developer Team
andProduction Team
should work in different environments - Development Environment
- The RPA Developers and their robots interact only with systems that have sandbox environments
- the robots should not be able to connect to the UAT and production orchestartor
- Productin Environment
- The robots permanently monitored for malicious tempering of packages and the execution of correct version of the package
- access to the robots in the production should be restricted to the trusted individuals
- It is a feature of Orchestrator that allows complete seperation of Data among tenants, providing a dedicated share of the instance including its data,configuration, user and role management up unitl license management
- In simple terms, using Single Orchestrator Instance an organisation can have, multiple role based users each having having seperate:
- Robots
- processes
- Assets
- Queues
- Data
- Configuration
- Users
- Roles
- Transport Level Security 1.2 Protocol
- Advanced Encryption Standard on 256-bit cipher
- Secure Hash Algorithm 2
- What are the main differences between guidelines and security features?
Ans.
Guidelines are recommended general best practices, while security features are already implemented in the product
- User access to the Orchestrator web app is protected using the following features:
Ans.
a) communication between client and Orchestrator is encrypted with HTTPS; b) Password complexity is configurable; c) the account is locked after a configurable number of unsuccessful attempts
- Is Storing Credentials a feature or a guideline?
Ans.
Feature
- Authenticating the users on the Orchestrator platform can be done with:
Ans.
Google accounts with OpenAuthentication 2.0,Local username and password,Active Directory username,using Windows Authentication, Azure Active Directory authentication
- A valid SSL certificate is required to install Orchestrator.
Ans.
True
- Is Package Securing a feature or a guideline?
Ans.
Feature
- With the Account Lockout security feature you can prevent additional logins for a period of time after a number of failed attempts.
Ans.
True
- The Audit page on the Orchestrator platform allows you to filter by:
Ans.
Component and Action
- What is the common practice to keep the different versions of each XAML file in an RPA project?
Ans.
Source Code Control System
- Packages uploaded into Orchestrator (either manually or published from Studio) are automatically uploaded by Orchestrator to all robots that can execute these packages.
Ans.
False
- Orchestrator offers the functionality to create any number of custom roles.
Ans.
True
- In an organization with Development, Testing and Production environments, an RPA Developer should not have access to the Production Environment
Ans.
true
- CyberArk can be integrated with the Orchestarator in order to retrieve the robot credentials from CyberArk instead of SQL Server DB.
Ans.
True
- Is Isolating Environments a feature or a guideline?
Ans.
Guideline
- Security risks can appear in:
Ans.
Both development and production phases
- Named User ~> Single specific User, enables each user to access the software at any time ,on any machine
- Concurrent User ~> Useful in BPO scenarios,indicates how many users can access the software simultaneously
- Concurrent Runtime ~> Indicates the number of robots that can be simultaneously connected to Orchestrator , regardless of the user or machine
- Server License ~> is required to install orchestrator instace
- All the licenses for all the robots can be easily managed by Orchestrator
- Named and Concurrent User License can not coexist in single orchestrator instance
- All the platform license must have same anniversary date
- It provides full control of all the licenses belonging to an organization
- Allows centralised license management and distribution
- Used when Orchestrator is not used
- Named User License
- Node Locked License ~> completely similar to
Concurrent User license
- To Activate any license in machine follow the following steps:
- Open CMD as administrator
- CD to Uipath studio folder
- run command
regutil activate /email_address /license_code
- To check if license activated successfully run command
regutil.exe get-info
, it shows complete information about license - To export the information to a file, run command
regutil export-info /out_file=Path-to-store
- What Robot type is used to test an automation workflow?
Ans.
NonProduction
- A Node Locked License...
Ans.
Can be activated and used on a single machine,allows multiple users to work successively on a machine using the same software instance, is available for unattended robots
- A developement robot
Ans.
Activates studio,enables workflow execution on local machine,ensures the ability to connect the local studio instance to orchestrator
- A Concurrent User License is dedicated to a single specific user.
Ans.
False
- Which license types are available for Attended Robots and Studio?
Ans.
Named User and Concurrent User
- Which UiPath Platform licenses can be managed through Orchestrator?
Ans.
Concurrent User,Named User, Concurrent Runtime
- Concurrent User licenses are usually suitable in BPO scenarios, for companies whose employees work in shifts.
Ans.
True
- Named User and Concurrent User licenses can coexist within a single Orchestrator tenant.
Ans.
False
- All the platform licenses (managed through Orchestrator) must have the same anniversary date.
Ans.
True
- For Unattended Robots, the only available Standalone License option is
Ans.
Node Locked
- The number of Concurrent Runtime licenses indicates...
Ans.
The number of robots that can be simultaneously connected to Orchestrator , regardless of the user or machine
- What is the required license type in a scenario where employees must be able to execute processes whenever needed?
Ans.
Named User
- When automating SAP,start with recording the actions, most of the time it will work fine
- To Interact with unrecognised elements you can use ClickText & ClickImage and keyboard shortcuts to reach difficult buttons or menu items
- For
Elusive UI Elements
, simulate human activities that is what human will do activate it - For tabular data you have to use loops , although that is hardly SAP specific
- To Read an tabular data of unknown length, read each row in an infinite loop until an operation fails
- To work on checkboxes and special elements , use the
getAttributes
activity, it shows a bunch of hidden information that can prove to be very useful
- Can SAP client be automated if it is web hosted?
Ans.
It's a trap. SAP is not available on web
- In a situation where a data table cannot be scraped by using Data Scraping but each cell is accessible by selectors, how can the robot extract all the cells from a column with a large number of rows?
Ans.
By generating a selector for the first cell and configuringits TableRow property to iterate through all the rows
- If you want to record a Click activity on an ephemeral element that appears only after focusing on a text-box relative to it, can that be done?
Ans.
Yes, press F2 and in the 3 second pause put the focus on the text-box.
- In a SAP application, you would like the robot to click on a specific folder in a folder hierarchy. The panel containing the hierarchy doesn’t allow more granular selectors inside of it, thus no selector can be created for a specific folder. What can be used?
Ans.
A Click Image activity, A Click Text activity with Native as scraping method.
- Some UI Elements are not selectable in SAP client, but some of them are. Which might be the problem?
Ans.
The scripting is enabled only on the client side
- Which is the easiest method in order to extract a table from SAP that has the scripting enabled on both sides?
Ans.
Using the Data Scraping wizard
- How can the robot identify if a checkbox is checked or not?
Ans.
By using get Attribute activity
- Consider having to click a button which cannot be accessed by using a selector. What other options can be used?
Ans.
Click relative to an element that can be identified by a selector,Use a Click Image activity set to click the image of that button, See if clicking the button can be replaced with sending a combination of keys.
- A Regular Expression, regex or regexp is a sequence of characters that define a search pattern.
- In order to use it:
- You can specify the target search tag by using matching:<tag_name>=’regex’;
- You can specify the search pattern by using <tag_name>='<regex_command>'
e.g.,
aaname={{regex}} matching:aaname='regex'
whereregex is variable with required expression
- Fuzzy string matching is a technique to search strings which are not 100% match, and match a pattern approximately, rather than exactly.
- A selector’s fuzzy search capability enables you to locate strings based on a pattern, rather than on an exact match to your input.
- In order to use the fuzzy search capabilities, you need to include in the top-level tag of the target selector a matching option:
- You can specify the target search tag by using matching:<tag_name>=fuzzy;
- Determines the matching threshold by using fuzzyLevel:<tag_name>=<numerical_value>.
- The values supported are numerical from 0 to 1, a closer to 0 value returns results with lower similarity, and a value closer to 1 returns the results with higher similarity.
- If more elements are found, the target action is executed on the first one.
e.g.,
aaname={{regex}} matching:aaname='fuzzy' fuzzylevel:aaname='0.7'
- Non-Greedy search gives you the option to search the subsequent tags in all the windows that match the top-level tag.
- In order to use the Non-Greedy search capabilities, you need to include in the top-level tag of the target selector an Idx() attribute: You can search through all active window instances for the element matching the top-level tag by using <idx='*'>.
- Please note that the <idx='1'> option only searches through the window instances in focus.
- So if there are multiple tabs open and you want
Bot
to apply or find the given selectors to all tabs without bringing them to foreground then we use theseNon-Greedy Selector
- Non-Greedy Selectors are supported only for and .
Note:
- You should extend the selector definition to have a new namespace for search matching and for the fuzzy level where:
matching = regex, fuzzy, fuzzywords, fuzzyLevel = 0 .. 1
- WebDriver is a remote control interface that enables introspection and manipulation of Document Object Model (DOM) elements in web browser.
- The Document Object Model (DOM) is a cross-platform and language-independent interface that treats an XML or HTML document as a tree structure wherein each node is an object representing a part of the document.
- Using this protocol, headless browser automation (simulate work) becomes possible automating web pages through the WebDriver API,without having to install extensions and even without using the GUIs
- Headless testing is when you run a UI-based browser test without showing the browser UI. It's running a test or running a script against a browser but without the browser, UI starting up.
- Types of supported drivers:
- Start by downloading the WebDriver executable corresponding to the browser you want to use;
- Install and download WebDriver in a location of your choice,such as
C:\webdriver\Chrome
- Select the Path variable either from User or System and Edit
- Click and set path as
C:\webdriver\Chrome
- Restart the Robot Service for the changes to take effect and you are good to go
- To enable the
WebDriver
capabilities in your browser activities select the browser you are using from theBrowserType
field , then the WebDriver option from theCommunications Method
- To perform activities without the
Headless Browser
leave theHidden
checkmarkunchecked
within theProperties panel
else vice-versa
- In New Orchestrator, we have 2 types of triggers:
- Time Triggers (ex Schedule) : plans a recurrent job
- Queue Trigger : Triggers job whenever new items are added to Queue
- A Queue can have only 1 trigger associated with it
- When we enable an SLA,the association between the process and the queue is automatically made
- A Credential Store is a named location within a secure store from which you can retrieve robot credentials and credential assets when needed.
- Mostly Used ones are:
- CyberArk integration
- Azure KeyVault integration
- Orchestrator database (default)
- To add 3rd party plugins, edit the
web.config
file found in theinstalled orchestrator
files by looking forplugins.SecureStores
and add file names simply by adding values using comma.
and restart orchestrator service
- The activities are built on top of the official APIs or SDKs provided by the technology vendors (e.g. Microsoft, Amazon, VMware, Citrix, and others)
- The activities run in the background, not via the UI
- The activities are developed and owned by UiPath
- They are published on the official feed and we offer long term support and official maintenance
- The activities are certified and scanned with
VERACODE
andFOSSA
- Easy to Use - Easily create, update, manage and run IT automation processes
- The list of supported technologies is continuously expanding - Automation for On-Premise and Cloud IT infrastructures & services, User Management systems, Virtualized Environments;
- Seamless integration - secure integration with your existing Systems & Applications.
- Examples: Deploy Server(Cloud/onprem), AD-Create User/Reset User Password, VMware export VM to OVF...and many more
- easy to use by drag and drop
- reduced setup time
- background running via APIs
- no additional costs with implementation
- blends with your existing partner ecosystem
- secure Veracode certified
- official long-term support by UiPath
- Self Service & Delegation, Triggers, Integrations
- schedule jobs from the Orchestrator web application - for example, the controlled maintenance power-off of a datacenter
- jobs automatically triggered by an event - for example, a password reset based on a ticket
- nightly trigger a servers power-off job to stop unused computers and save costs.
- Orchestrator mobile app
- start process jobs from your mobile devices
- access logs and reports on the go
- reply to Long Running Workflows approval requests
- react to critical IT requests in real time.
- Integrate the existing IT scripts in the UiPath automations
- increased security - for example, credentials can be safely stored in Orchestrator assets or secure vaults
- access control - delegate workflow executions to other colleagues
- mobility: run them on the go
- integrated with approval and persistence
- support for Audit / ISO certifications - logging layer and reporting.
- Microsoft Active Directory
- Active Directory (AD) is a directory service that Microsoft developed for the Windows domain networks. It is included in most Windows Server operating systems as a set of processes and services. Active Directory uses Lightweight Directory Access Protocol (LDAP) versions 2 and 3, Microsoft's version of Kerberos, and DNS.
- Fore more info
- Domain Controller
- A Server running in Active Directory Domain Service(AD DS) is called a domain controller.It authenticates and authorizes all users and computers in a Windows domain type network-assigning and enforcing security policies for all computers and installing or updating software
- sAMAccountName
- The sAMAccountName property is a login name used to support clients and servers from the previous versions of Windows, such as Windows NT 4.0,Windows 95,Windows 98, and LAN Manager.The login name must be less than 20 characters and be unique among all security principal objects within the domain
- Fore more info
- Microsoft Exchange Server
- Microsoft Exchange Server is a mail server and calendaring server developed by Microsoft. It runs exclusively on Windows Server operating systems
- Fore more info
- MailBox
- User mailboxes are Exchange mailboxes that are associated with people,typically one mailbox per person. Each user mailbox has an associated Active Directory account that gives the person access to the mailbox to send and receive email messages and create meetings and appointments
- Fore more info
- Exchange Management Shell
- The Exchange Management Shell is built on Windows PowerShell technology and provides a powerful command-line interface that enables the automation of Exchange administration tasks.
- It can be used to:
- Create email accounts
- Create Send connectors
- Receive connectors
- Configure mailbox database properties
- Manage distribution groups
- Bulk Operations
- In fact, when you do something in the Exchange admin center (EAC), the Exchange Control Panel (ECP), or the Exchange Management Console (EMC), it's the Exchange Management Shell that does the work behind the scenes.
- Fore more info
- Active Directory Server
- Username
- Password
-
It offers activities for Microsoft Active Directory Domain Services (AD DS)
-
It provides a hierarchical data storage for objects in a network.This set of activities enables IT professionals to easily automate important operations with Active Directory objects like users,groups,and computers
-
Possible operations that can be automated are:
- Creating and updating user groups
- Managing group membership
- AD object management
- Access control and
- rights management
- Install Exchange Management shell on the Exchange Server
- The machine where the workflow is running should be domain-joined with the Exchange Server, and access should be available - FQDN(Fully Qualified Domain Name ) of the Exchange Server should be known/resolved by the robot machine. e.g., Mail.devsl.local
- It offers administration activities for On-Prem Microsoft Exchange Server 2016 and 2019
- With these activities, you can delete and create Exchange mailboxes , as well as enable and disable archiving for existing mailboxes.
- Employees Onboarding
-
When a new employee is hired in a company, the HR department provides the input for a UiPath automation process which can be in any format, let's say Excel.
-
Our workflow will create a corresponding new user account in Active Directory, will generate a random password for it and will set it to expire after the first login, and lastly adds the user account to a list of specified groups.
- Employees Offboarding
- When an employee leaves the company, the associated Active Directory user account is removed from the groups it belongs to and the user account is disabled.
- Password Reset & User Account Unlock
-
These are the most common IT operations that are happening on a daily basis in any company. Automating them will make the life of IT admins easier.
-
For example, employees can make requests to an IT Help Desk Chatbot which automatically triggers a UiPath process to respond to their requests for password reset or user account unlock. This can happen almost instantly.
- Active Directory Objects Management
-
These are the most common IT operations that are happening on a daily basis in any company. Automating them will make the life of IT admins easier.
-
For example, employees can make requests to an IT Help Desk Chatbot which automatically triggers a UiPath process to respond to their requests for password reset or user account unlock. This can happen almost instantly.
- Access Control & Rights Delegation
- You can manage the access to miscellaneous resources via Active Directory group memberships.
- A Long running workflow is a workflow which needs to wait for an external service to complete a period of time to pass or a Human user to provide input before it can continue
- These go into a
suspended state
until the conditions are met for it to resume. This greatly reduces resource usage - While the long-running workflow is waiting, the workflow context (The state variables ad of the execution) remains persistent
- When executing a set steps
synchronously
,like in the case of aFor Each
activity, the system waits for each iteration of the loop to complete before executing to the next one. - When executing the steps
asynchronously
,like in the case of aParallel for Each
activity ,multiple transactions can be processed at the same time. The transactions are executed in differentthreads
. Threads are series of activities that can run concurrently.
-
When our process will run in an unattended environment and requires that we use a rules engine to stitch together robot tasks, human tasks and asynchronous processing.
-
When the execution of our process needs to wait for an event to complete and we don't want the robot to keep polling for resources
- The
Universal Blob Storage
allows you to publish a set of generic storage API methods.By using this approach, the application services become agnostic of the native storage provider - The UBS makes the process of switching between different flavours of storage solutions easy and transparent, facilitating cost optimization, performance scaling and data center improvements
- Storage ~> Abstract a key-value storage solution.The Storage Client API interface is compliant with the Object Storage cloud terminology.The API user should design the data with respect to a flat model(bucket like).
- Storage Provider ~> The underneath implementation of the persistence system, the storage wapped by the Storage Client API interface
- Storage Bucket ~> Bucket as it is described by the Object Storage concepts.By analogy with the traditional file systems, the bucket should be read as a disk volume
- Storage Content ~> The actual data being persisted into the wrapped storage solution
- Storage Content Prefix ~> The mechanism to logically group the saved content under a single bucket
- Storage Location ~> It fully describes the location of the content inside the storage, that's the tuple (key,prefix,bucket). The key must be unique across the enclosing bucket
- Storage Transaction ~> It's a best effort mechanism to address the all-or-nothing request for a set of storage commands
- To install, first we need to remove
UIAutomation
activities which comes pre-installed - Go to Manage Package and install
Computer Vision
activities package given officially byUiPath
- It Gives various activities and Computer Vision Recorder
- server path is
cv.uipath.com
ESC
~> Stop RecorderF2
~> DelayF5
~> Refresh CV scopeALT + left
~> to back to main page- All the activities are selected based on
Anchors
yellow color
~> Similar selections are present on screenred color
~> Selection is not unique or does not have proper unique anchorgreen color
~> selection and its anchor is unique and usableCV Highlight
~> This activity is used to highlight any particular element in our workflow during execution. It can useoutput object
of some activity as itsinput object
to detect and highlight an object/element- Article for more learning
Taxonomy Manager
~> Create and edit a set of document types that are sorted by Groups and Categories- The created taxonomy can be used by converting it into a .NET data type with the
Load Taxonomy
activity - The
Digitize Document
activity is used to turn the docs into digitalized docs generating classification algos used by theClassify Document Scope
activity - The
Classify Document Scope
activity allows for the usage of any classification algorithm to identify the type of a document classificationResults.Any
tells if classification is possible or data is possible to be extracted- The
Data Extraction Scope
activity enables us to retrieve information from documents based on the taxonomy and document type by calling the data extraction algorithms we configure - The object can be mapped to a DataSet using the
Export Extraction Results
activity, or used as-is for more complex queries - The
Train Classifiers and Extractors scope
activity allows for the completion of the feedback loop for any classifiers and data extraction algorithms capable of learning ( the Keyword Based Classifier for example) - Important Docs to be referred when using these activities Intelligent OCR activities
- These are similar to IQBot functioning
- Used to automate applications inside Remote Applications
- Needs to be installed in Remote Systems
- Can be obtained through Contacts form from UiPath website easily
- helps to use any NativeDesktop RDP and Citrix Automation
- The RPA Solution Architect will design the end-to-end architecture of the RPA solution,typically this is achieved through a diagram that represents the logical connections between the robots, the entities used, all the involved sub-processes, and the input and output data
- Involved in various stages such as development,testing and performance analytics
- Decide how many robots to be used,what their configurations are going to be and how they will be split between files and Orchestrator assets as well as what Queues, schedules and documents will be used
- Logging and Reporting
- Needs knowledge of Servers,storage,firewalls,load balancers, routers etc.
- Infrastructure Setup (Enable)
- Designing the server architecture
- Installing and configuring the architecture
- Setting up dev,test & production environments
- Project Governance (Preparation)
- Agreeing on the project development approach
- Reviewing the RPA best practices
- Workflow Design (Design)
- Filling the Process Design Document (PDD)
- Creating test cases and data
- Designing the solution
- Workflow Development (Build)
- Building the workflows
- Performing Unit and Functional testing
- Creating the Development Specification Document (DSD)
- Quality Assurance (Test)
- Executing the test cases
- Reporting the results
- Making the Go/NoGo descision
- Hypercare (Sustain)
- Performing workflow support
- Managing Changes and improvements
- The Python Activities can be used using the Package
UiPath.Python.Activities
- This Package Consists of following activities:
- Python Scope
- Load Python Script
- Invoke Python Method
- Get Python Object
- Run Python Script
- This Activity is used to set or connect UiPath robot with python environment installed on your system.
- This activity requires path to the folder containing the
python.exe
file - UiPath currently only supports python version < 7
- The Path to
python.exe
can be acquired from the Windows Environment Variables tab - Make sure
python 3.6 or less
version can be accessed by cmd usingpython
keyword.
- This activity enables two kind of inputs
- Code ~> You can just type the complete code as within "" ( Double Quotes)
- File ~> Best approach is to write your code in a python file and give path to the file in this input field
- This activity gives an python
instance
to be referred to in another activites
- This activity is used to execute specific functions from our python code that are present in
python instance
which is the output of theLoad Python Script
activity - This activity enables 3 kinds of parameters:
- Input Parameters ~> Any number of input you would like to provide to your function. This input should be in the format of
object
The object should be like{"some string","charcater like /"}
Assuming our python code is
from collections import Counter
def CalculateCharacterLength(string,char):
strDict = Counter(string)
return strDict[char]
- Instance ~> It takes
python instance
to work upon - Name ~> The input to this field is the exact function name to be called
- The output of this activity is a
python object
orpython instance
which again needs to be converted to.net object
to be used along with other activities
- This activity is used to Convert
Python object
to required data type to be used in other uipatha ativities
- This activity is used to execute any python code as similar to double-clicking an python
.py
file
- Software Testing ~> Software testing is the process of verifying that a software meets certain requirements and behaves as expected
- The requirements can be differentiated into 2 aspects:
- Functional ~> refers to an expected behaviour
- Non Functional ~> System Efficiency
- Different levels of Testing:
- Unit or Component Testing ~> In this one we focus on testing individual 'code' units, down to the level of methods and functions (done by software developers)
- Integration Testing ~> In this we focus on the interactions between the components or systems
- System Testing ~> In this we focus on the behaviour of an entire software system or product. Also referred to as End-to-End testing
- Acceptance Testing ~> In this testing, we include end users and other key stakeholders, to check how the users behave with the software differently or as intended.
- Different types of testing:
-
Black Box Testing ( Focus on Input & Output ) ~> Black box testing solely focuses on providing a certain input and verifying the output
-
White Box Testing ( Access to Implementation ) ~> White box testing provides a certain amount of access to the source code to the tester
-
Manual Testing (Run by a person) It is further divided into * Scripted (Requires Processing) ~> pre-defined steps of operations, followed by specific verification steps * Exploratory (Requires Thinking) ~> Manually performed, but it typically provides only a high-level charter,then it leaves the rest to the actual testing to explore in detail.
-
Automated Testing ( Run unattended by a Robot ) It is further divided into * UI Testing ~> Test the business layer * API Testing ~> Test the API layer. It includes several interfaces and protocols, such as Soap, Rest, Queues and many other
-
- This topic is divided into 7 sections:
- Introduction
- Taxonomy
- Digitize
- Classify
- Extract
- Validate
- PostPreprocessing
- Introduction
- Document Understanding is the ability to extract and interpret information and meaning from a wide range of document types, storage formats (e.g., images, PDFs, text), and objects (e.g., handwriting, stamps, logos).
- There are two types of data extraction methodologies:
- Rule-Based data extraction
- Model-Based data extraction
- Rules-Based data extraction ~> It relies on a set of rules to extract data from a document (like using regex)
- Model-Based data extraction ~> It is based on Machine Learning
- Semi-structured document ~> it extracts the same data from each document, and it requires a pre-trained ML model with further retraining
- Non-structured document ~> It needs to "read" the text to extract the meaning and identify the right data.Thus it also requires pre-trained models and retraining.
- OCR is a method that reads text from images,recognizing each character and its position.It comes handy in the Digitize step of the process when dealing with non-native documents, like scanned files
- Taxonomy ~> In this pre-processing step, you can add multiple document types and the fields you are interested in extracting.e.g., Total Amount,Patient Name , User/Product Id etc
- Digitization ~> As the documents are processed one by one, they go through the digitiation process.The outputs of this step are the
Document Object Model
and astring variable
containing all the document text and are passed down to the next steps - Classification ~> If you are working with multiple documents types in the same project, to extract data properly you need to know what
type of document
you're working with. The important thing is that you canuse multiple classifiers
in the same scope,you canconfigure the classifiers
and, later in the framework,train
them. The classification results help in applying the right strategy in extraction - Extraction ~> Extraction is getting just the data you are interested in. In this framework, you can use different extractors, for the different document structures, in the same scope application.The extraction results are passed further for validation.
- Validation ~> The extracted data can be validated by a human user through the Validation Station. Validation results can then be exported and used in further automation activities
- Export ~> Use the validated information or save it in datatable or anywhere else you want.
- Training Classifiers and Extractors ~> Classification and Extraction are as efficient as the classifiers and extractors used are.If a document wasn't classified properly, it means it was unknown to the active classifiers. The same way goes for the incorrect data extraction.
- Taxonomy Manager ~> With the Taxonomy Manager Wizard, you can create the Taxonomy for your document understanding project, meaning the information that you want to extract and the type of that information. e.g., Data Table,Text,Date etc
- Load Taxonomy ~> Loads the taxonomy created with the help of the Taxonomy Manager into a variable that can be further userd with other activities
- Digitize Document ~> For scanned documents or images, this activity will use OCR to extract the text and the
Document Object Model
, a JSON object containing information regarding the positions of the words on the document. (For digital documents, the text will be extracted without the use of the OCR engine) - Classify Document Scope ~> The scope allows multiple classifiers to be used in order to classify the documents. You can find classifiers in the intelligent OCR actvity package, as well as in other UiPath or third-party packages(e.g., Abbyy activities)
- Configure Classifiers Wizard ~> Use it to configure the Classify Document Activity. It allows multiple classifiers to be used in order to classify the documents. You can also establish a confidence threshold for each type of classifier
- Data Extraction Scope ~> The scope allows multiple extractors to be used in order to extract the data from the documents. e.g., UiPath.DocumentUnderstanding.ML.Activities or your own extractor
- Configure Extractors Wizard ~> With this Wizard, you can customize which extractors will be used for each individual field,of each document type.
- Present Validation Station ~> Opens the Validation Station, which enables you to review and correct document classification and automatic data extraction results.
- Integrated Validation Station ~> This activity pair allows for the creation of Validation Station human tasks in a web-based environment, through UiPath's Actions
- Validation Station ~> The extracted data can be corrected and confirmed by a human user through the Validation Station
- Export Extraction Results ~> Once you have extracted information, you can use it as it is, or save it in a DataTable format that can be converted very easily into an Excel file
- Train the Classifiers and Extractors used ~> Sometimes, the workflow may fail to recognize the document or extract the correct data. To improve the classifiers and extractor's performance, even if they recognized the correct data, they should be trained.
- It starts with categorizing the documents and defining the information you want to extract.
- Group the documents based on the department or purpose of the documentextract tables and names or even pick the language document is written in.
- There can be only
one taxinomy file
per project stored inDocument Processing
folder under the project folder - Once the taxonomy file is created then it can be used in the workflow using
Load Taxonomy
activity
- Defining the Document Type:
- Select or create the group and category that the document is a part of
- Add new document type and define its fields
- Note: A group can contain multiple categories and a category can contain multiple document types
- Defining Document Fields
- Editing the name of the document,its belongings, and define the fields that interest you in extracting
- Defining the fields in the document, selecting the area and pairing them with their respective variable
- New Field ~> Selecting New Field opens up the window on the right,where you can edit the field's information
- Editing the Documents Field
- Choose a name for the field,specify whether it is multi-value and choose its type Taxonomy Manager Doc To store taxonomy file at different location
- All the documents that are to be processed (native and scanned) must pass through this step in order for the robot to understand the kind of document it's working with and what data is relevant
- Turning the document into a
DOM
and extracting the text is done with theDigitize Document
activity - The
Degree of Parallelism
defines how many pages the workflow will analyze in parallel - Supported Entensions are: .png, .gif, .jpe, .jpg, .jpeg, .tiff, .tif, .bmp and .pdf More About Digitize Documentation
- This contains basic information regarding the processed document such as name,content type,text length, and information about each page
- Variable data type is
document
- It is used during validation For More...
- This step is used when dealing with multiple document types
- It is done using
Classify Document Scope
activity - The
Document Classification Scope Wizard
will open at selecting theConfigure Classifiers
option and it allows users to customize which classifier will be used for each individual type of document - For this, first we create a classify.json file
- We have 2 classifiers by default
- Intelligent Keyword CLassifier
- Keyword Based Classifier
- Keyword based requries various kinds of keywords that may came up in the document in different forms, such as for Invoices : statement,invoice,invoiec , in-voice, in voice etc
- Configure Classifier is used to select the document type for which the classifer is supposed to be used
- We can have multiple classifiers used at the same time
- In Many cases, document files comes as a
package
. within the same file, there are multiple document types that contain different sets of information and which need to be treated separately as far as data extraction and post-processing goes. - This activity is used to :
- manually
split
files into logical documents, by selecting a document type and a tange of pages applicable for it - Verify any automatic classification and splitting of a file into logical documents and perform correctios to the automatically proposed classification and separation
- manually
- Steps:
- After the
Classify Document Scope
, add thePresent Classification Station
activity - At run time, the classification station will open and show the automatic classification results
- If needed, one can adjust the Classification results.
- After clicking on the Save button, the workflow continues with the human validated classification information Classification Station Doc
- After the
- This is the step to extract the required data from the documents
- Based on the structure of the document, different extractors come to play
- The
Data Extraction Scope Wizard
will open at selecting theConfigure Extractors
option and it allows users to customize which extractors will be used for each individual field - It allows users to mix and match extractors as well as use extractors in parallel based on which extractor has the highest confidence level
- If
classification result
is provided thenDocument ID
is not required - Steps to work with
form extractor
:- We added the Form Extractor inside the Data Extraction scope and provided the API Key from the Cloud Platform account. Next, we started to Manage Templates
- Created a new template for the W-4 form, using a file from the project's folder, and the OmniPageOCR and we stared configuring it
- We matched the first page with representative keywords. To make the multiple selections, we pressed the CTRL key
- We started matching the fields with the values defined in the taxonomy. We did this either by choosing the selection mode or pressing the D+X keys.
- When we finished mapping all the values, we saved the template.
- For unstructured or semi-structured data, we can also
regex based extractor
- For semi-structured data, ML Extractors can also be used
- They can be installed using
UiPath.DocumentUnderstanding.ML.Activities
package - Things to remember:
- The endpoint for community work is
https://invoices.uipath.com
- API key can be found at
platform.uipath.com
- Set-up each field in correspondant to pre-configured field types/names
- Other Endpoints can be found at
- The endpoint for community work is
- For 100% accuracy of the results, human validation is always recommended. This step is triggered by the
Present Validation Station
activity
- This activity triggers the opening of the validation station.
- It's the tool that allows you to review and, if necessary correct the document classification and automatic data extraction results
- Use this activity inside a Try-Catch activity to check and workaround of business exceptions
- For More...
- After you validate the extracted data, you can export it to whatever environment you need in order to consume it. The extraction results can be exported as a DataSet variable which can be further processed.
- This activity export the data extracted to a DataSet.
- When used with the automatic extraction results and the
IncludeConfidence
flag is to True, it is the perfect way of accessing the extracted data,with the purpose of any RPA-based validation logic available - The DataSet variable output by the
Export Extraction Results
activity has a fixed structure as follows:
- Table named
Simple Fields
~> Contains columns with name equal to each field name in your document type, and the values ( on the subsequent lines ) pertaining to each field. More than one value in a column is possible if :- You define a field as
multi-value
in your taxonomy - for a field, with multiple
suggestions
- You define a field as
- Table named
Simple Fields - Formatted
~> it is same assimple fields
but it provides the output in proper formatted way like for dateYYYY-MM-DD
and for Address and Name fields, these values contain a JSON representation of the Address and Name parts respectively - A collection of tables ~> two for each table field in the document type
Note:It is strongly recommended, for easy identification and understanding of the output DataSet content, to exercise by looping through
the DataSet.Tables
in a For Each
activity, and writing each Table in a sheet of an Excel file using the Write Range activity.
- This activity has ability to train the classifiers using either the output of the Human Validated Classification Station or the output of the Validation Station - as both sets of information are human confirmed and can be ingested by the classifiers to self-learn
- It is used using
Train Classifier Scope
activity
- Used got extracting handwritten words/characters from documents
- Has few limitations for Community edition:
- The size of the documents is limited at 1 page.
- Community endpoints are rate-limited per IP address at 50 requests per hour.
- If the rate-limit is reached, an 429 - Too Many Requests error is displayed, and the IP address is blocked for 1 hour. To Learn More...
- Note: This process is not officially supported by UiPath
- To Schedule your bot, follow the given steps
- Publish your bot to packages that is create a
.nupkg
file - Create a
.bat
file with content as"Path-to-UiRobot.exe" -file "path-of-nupkg"
e.g.,"C:\Users\piyus\AppData\Local\UiPath\app-20.6.0-beta0093\UiRobot.exe" -file "C:\ProgramData\UiPath\Packages\JU.ParentPortal.1.0.1.nupkg"
- Open Windows Task Scheduler
- Click on Create Task
- Give some name to your Bot Schedule
- Set
Configure for
toWindows Vista , Windows Server 2008
- In
Triggers
tab create a new trigger, selectOn a Schedule
and set some time - In
Actions
tab, set things as- Action: Start a Program
- Program/Script: cmd
- Add a argument: /c "file-name-with-extension"
- Start in : path-to-the-directory-containing-file(without double quotes)
- In
Conditions
tab, uncheck the box withStart task only at AC Power
- Click ok and close the scheduler, bot is scheduled successfully
- Publish your bot to packages that is create a