UiPath Associate - intro to dev role Flashcards
Business Process parts
Usually diagram
Definition: A process is a set of interrelated or interacting activities that transforms inputs into outputs.
Components of a process:
Inputs - the data that goes in the process;
Process Flows - the sequences of sub-processes or activities undertaken in the process;
Source Applications - the applications or systems used to perform the sub-processes or activities of the process;
Outputs - the result generated by the process;
Things to remember: The outputs of a process can serve as inputs for other processes.
Procedure v process
There are a lot of things that are missing from the definition of a standard process, such as time constraints, dependency on other processes, variations and how resources are assigned. This is where procedures come into play.
Usually complex document
A procedure explains:
who is responsible for each part of the process
when each part of the process needs to occur
how to handle exceptions
the specifications applicable to each part of the process.
Good candidate for RPA
Rule-based
Automatable and/or repetitive process
Manual & non-repetitive: the process steps are performed by humans and can be different every time the process is executed
Manual & repetitive: the steps in the process are performed by the user, and at least some of them are the same every time
Semi-automated & repetitive: some of the repetitive steps have already been automated (using macros, Outlook rules, and so on)
Automated: there are processes that have been already automated using other technologies than RPA
Standard input
Stable
Factors that impact automation conplexity
Number of Screens
Types of Applications
Business Logic Scenarios
Types and Number of Inputs
Assessing automation potential
Non rpa Processes where change is frequent, the system environment is volatile, and multiple manual (even non-digital) actions are required
Semi auto Processes that can be broken down into steps that can be clearly automated, and steps that need to stay manual (such as validations or usage of physical security tokens)
High cost rpa Processes that are rather digital and can be automated, but use some technologies that are complex (such as OCR) or require advanced programming skills
0 touch auto Processes that are digital and involve a highly static system and process environment, so that they can be easily broken into instructions and simple triggers can be defined
Six stages in RPA implementations
Use photo
Prepare RPA, Solution Design, Build RPA Solution, Test RPA Solution, Stabilize RPA, Constant Improvement.
The Academy Ecosystem
offers several platforms to help you succeed as an RPA Developer: Connect!, Marketplace, Community Forum and Academy
Automation First.
is a three-pronged approach: A Robot for Every Person, Open and Free Collaboration, Robots Learn Skills
Variables
Variables are containers that can hold multiple data entries
Name - specific, Camel convention
Type - int, general, boolean etc. Type usually assigned by default
Default value -
Scope - level of the workflow, local v global
Creating
Properties, designer(ctrl k) and variable panel
Arguments
Variables that travel between workflows
In, out, in/out
Variable data types
Borrowed from vb.net
Numeric - int, long and double
Boolean - true / false
Date and time - date time / time span
String - text
Collection - aray(same var same size), list(same var dynamic size), dictionary (key, value different data type)
Generic value - text, numbers, dates and arrays
As a good case practice, arrays are used for defined sets of data (for example, the months of the year or a predefined list of files in a folder). Whenever the collection might require size changes, a List is probably the better option.
Elements of flow control”
order in which individual statements, instructions or function calls are executed or evaluated in a software project
Sequence - process steps flow in a clear succession. Decision trees are rarely used
Flowchart - Use flowcharts when decision points and branching are needed in order to accommodate complex scenarios, workarounds and decision mechanisms
State Machine
Global Exception Handler
The control flow statements
If/else
Loops
Switch
If/else
two courses of action that are not arbitrary, an If statement will most likely be used
True = then, false=else, 2 outcomes. If /else sequence = flow switch in flowchart activity
Conditions can be used from VB net
Loop
Do while - It executes a specific sequence while a condition is met. The condition is evaluated After each execution of the statements.
While - It executes a specific sequence while a condition is met. The condition is evaluated Before each execution of the statements.
For each - It performs an activity or a series of activities on each element of a collection.
String
Strings are the data type corresponding to text. 8 types
Assign can contain many string activities in one string
message. Split(“.”c).First.ToString.Substring(message.LastIndexOf(“author”)):
- v Split(“.”c).First.ToString extracts the first sentence of the String and converts it to a String;
- v Substring(message.LastIndexOf(“author”)) extracts the Substring that is after “author”;
Concat (string)
Concatenates the string representations of two specified objects
Expression: String.Concat (VarName1, VarName2)
Contains (string)
Checks whether a specified substring occurs within a string. Returns true or false
Expression: VarName.Contains (“text”)
Join (string)
Concatenates the elements in a collection and displays them as String
Expression: String.Join(“|”, CollVarName1)
IndexOf (string)
Returns the zero-based index of the first occurrence of a character in a String
Expression: VarName1.IndexOf(“a”)
Substring (string)
Extracts a substring from a string using the starting index and the length
Expression: VarName1.Substring(startIndex, length)
Split (string)
Splits a string into substrings using a given separator
Expression: VarName.Split(“|“c)(index)
Replace (string)
Replaces all the occurrences of a substring in a string
Expression: VarName.Replace (“original”, “replaced”)
Format (string)
Converts the value of objects to strings (and inserts them into another text)
Expression: String.Format(“{0} is {1}”, VarName1, VarName2)
Exists in collection(list)
Indicates whether a given item is present in a given collection by outputting a Boolean as the result. We can use this activity to check whether a list of clients contains a specific name.
Clear collection(list)
Clears a specified collection of all items. One possible use is to empty a collection before starting a new phase of a process that will populate it again.
Dictionary
Dictionaries (or Dictionary, as you will encounter them) are collections of (key, value) pairs, in which the keys are unique. Think of the Address Book in your mobile phone, where each name has corresponding data (phone number(s), email). 4 methods
The data types for both keys and values have to be chosen when the variable is instantiated. Data types in Dictionaries can be any of the supported variables (including Dictionaries, for example).
The operations that are most often associated with Dictionaries are:
Adding and deleting (key, value) pairs
Retrieving the value associated with a key
Re-assigning new values to existing keys
Initialisation of dictionaries and lists
Just like in the example of Lists, Dictionaries have to be initialized. In the following example, the initialization is done inside an ‘Assign’ activity. However, as you may remember from the Lists chapter, it can be done from the Variables Panel.
Adding items to dictionaries
VarName.Add(Key, Value) – adds an item to an existing Dictionary. Because Add does not return a value, use the Invoke Code activity.
Removing items from dictionar
VarName.Remove(Key) – removes an item from the Dictionary. It can be used in an ‘Assign’ activity.
Retrieving items from dictionary
VarName.Item(Key) – returns the Dictionary item by its key
VarName.Count – returns an Int32 value of the number of Dictionary items
VarName.ContainsKey(Key) – checks if the item with the given key exists in the Dictionary and returns a Boolean result
VarName.TryGetValue(Key, Value) – checks if an item with a given key exists in the Dictionary and returns a Boolean result and the value if found
RegEx
Regular Expression (REGEX, or regexp) is a specific search pattern that can be used to easily match, locate and manage text. However, creating RegEx expressions may be challenging. 3 methods
UiPath Studio contains a RegEx builder that simplifies the creation of regular expressions.
Typical uses of RegEx include: Input validation String parsing Data scraping String manipulation
Is match (regex)
Indicates whether the specified regular expression finds a match in the specified input string. (Boolean)
Matches (regex)
Searches an input string for all occurrences and returns all the successful matches.
Replace (regex)
Replaces strings that match a regular expression pattern with a specified replacement string.
Enterprise RPA parts
Discovery - SW process (backend) mining, task mining (frontend). Automation hub - idea store, task capture full process chart integrated to automation hub
Build - Studio and StudioX
Run - attended and unattended
Manage - Orchestrator and Cloud platform
Engage - Action Center - robot task handoff to human
Measure - Insights - measurement tool for RPA team and business stakeholders
Selectors
A Selector in UiPath Studio is a feature that enables the identification of the User Interface elements through its address and attributes.
Selectors are made of nodes. And each node is made of tags and attributes.
Full selectors - have all window information, useful when switching between windows
Partial selectors - placed in the containers, used on the same window
Wildcards - * replaces several, ? replaces one
Dynamic selectors - ctrl s
Difficult selectors - anchor, relative, visual tree, find children