UiPath Academy
String myStr = "This is a string variable 123456789" myStr.IndexOf("ing")
13
What is the RPA Developer's responsibility throughout an implementation?
A day in the life of an RPA Developer - The automation project lifecycle https://academy.uipath.com/learningpath-viewer/8256/1/507151/2
ArgumentException
ArgumentException is thrown when a method is invoked and at least one of the passed arguments does not meet the parameter specification of the called method
RPA vs Full enterprise automation
Enterprise automation combines RPA with other technologies like AI, Process Mining, and advanced analytics to automate more sophisticated work.
Substring
Extracts a substring from a string using the starting index and the length. Expression: VarName1.Substring(startIndex, length) Output datatype: String
Allows filtering a DataTable through a Filter Wizard, using various conditions. This activity can be configured to create a new DataTable for the output of the activity or to keep the existing one and filter (delete) the entries that do not match the filtering conditions.
Filter Data Table
Is used to perform a certain activity for each row of a DataTable (similar to a For Each loop).
For Each Row in Data Table
How can we show or hide messages that have different log levels, errors, or warnings in Studio?
From the Output panel by clicking the buttons in the panel's header.
How can you add activities to your Studio project?
From the activities panel
Can be used to create a DataTable from structured text, by letting the user indicate the row and column separators.
Generate Data Table from text
Retrieves a value from a row in a DataTable according to a specified column.
Get Row Item
Development and unit testing
In Development and Unit Testing, the modules outlined in the design whiteboard are created by the development team using the PDD and SDD as references. Created modules are tested individually to ensure the run successfully in controlled test settings, before larger-scale integration testing (next stage)
Discovery and Kickoff
In Discovery and Kickoff, the initial implementation team asses the potential automations for their complexity and feasibility, to determine estimated timelines and efforts required for successful delivery, and sets up overall expectations for the project with the customer
Solution Design
In Solution Design, once the business requirements of a process are finalized, the technical team designs a future state flow and maps out the various modules that'll have to be developed to complete the automation
IsMatch
Indicates whether the specified regular expression finds a match in the specified input string. Output datatype: Boolean
It is similar to vLookup in Excel. You can search for a provided value in a specified DataTable, and the RowIndex returns its value. Or it can be configured to return the value from a cell with the given coordinates (RowIndex and Target Column).
Lookup Data Table
What type of robot can you provision by using the sign in feature?
Only attended robots
Writes a DataTable to a string using the CSV format.
Output Data Table
Removes a row from a specified DataTable. The input may consist of the row index or a Data Row variable.
Remove Data Row
Removes the duplicate rows from a specified DataTable variable, keeping only the first occurrence.
Remove Data Row
Matches
Searches an input string for all occurrences and returns all the successful matches. Output datatype: System.Collections.Generic.IEnumerable<System.Text.RegularExpressions.Match>
Can sort a DataTable ascending or descending based on the values in a specific column.
Sort Data Table
The Data Manipulation in UiPath is based around which of the most common collection data types:
String List Dictionary
core components of RPA in UiPath
Studio Orchestrator the Robot (Assistant)
UiPath Build tools
Studio Family Document Understanding Marketplace Integrations
The Object Repository - UI Elements
The Object Repository ensures the management, reusability, and reliability of UI elements by capturing them as objects in a repository, sharable across projects. The Object Repository is only available in the Modern Design Experience.
Robot
The Robot is UiPath's execution agent installed on a machine and enabling you to run automation jobs based on processes developed in Studio
What are three reasons for which an RPA Developer must have a clear understanding of the 'to-be' process steps?
To make sure that the automation outcome is the one agreed upon with the business. Because the RPA Developer follows the 'to-be' process diagram to write the code. If changes or bug fixes are needed, the RPA Developer will refer to the diagram for cross-checking and removing ambiguities.
Assigns a specified value to the indicated column of a DataTable row.
Update Row Item
Integration and user acceptance testing (UAT)
Users mainly complete UAT. The implementation team oversees the process itself in coordination with the business. Based on a test plan created by the team, all potential 'happy-path' and business exception scenarios are processed by the robot in the pre-production environment to ensure that it's performing per all agreed upon requirements.
Clears all the data in an existing DataTable variable.
Clear Data Table
Remove from Collection
Removes an item from a specified collection and can output a Boolean variable that confirms the success of the removal operation. This activity can be used, for example, to remove an invoice number from a list of invoices to be processed.
Replace (String)
Replaces all the occurrences of a substring in a string. Expression: VarName.Replace ("original", "replaced") Output datatype: String
Is used to create a DataTable using a dedicated window. This activity allows the customization of number of columns and type of data for each column.
Build Data Table
RPA Build stage
Build code modules as outlined and assigned (either as workflow files or libraries, as needed). Conduct unit tests on the created modules as development progresses to catch and fix any bugs that may arise. Make sure the code is in line with the development best practices. Participate in integration and user acceptance testing (UAT), and in the deployment hypercare stages.
String.Join
Concatenates the elements in a collection and displays them as String. Expression: String.Join("|", CollVarName1) Output datatype: String
String.Format
Converts the value of objects to strings (and inserts them into another text). Expression: String.Format("{0} is {1}", VarName1, VarName2) Output datatype: String
Process analysis
In Process analysis, the implementation team analyses and identifies the requirements of the customer's process. The degree of automation is decided based on this analysis (and on the complexity of the process), and as-is and to-be process flows are documented to inform the creation of a future state solution.
Exists in Collection
Indicates whether a given item is present in a given collection by giving a Boolean output as the result. We can use this activity to check whether a list of clients contains a specific name.
Is used to append a specified DataTable to the current DataTable. The operation is more simple than the Join Data Type activity, as it has 4 predefined actions to perform over the missing schema.
Merge Data Table
Split
Splits a string into substrings using a given separator. Expression: VarName.Split("|"c)(index) Output datatype: Array of String
Studio Family
StudioX, Studio, and UiPath assistant
The Studio user interface (UI) consists of:
The Backstage View The Ribbon The Command Palette The Panels The Status bar
Add to Collection
Adds an item to a specified collection. It is equivalent to List.Add(). It can be used, for example, to add a new name to a list of company names.
Which of the following statements about robots are true? You can run jobs from Orchestrator both on attended and unattended robots Attended robots cannot run automation processes published to Orchestrator Attended users can run automation jobs using UiPath Assistant Unattended robots are typically deployed on separate machines
Attended users can run automation jobs using UiPath Assistant Unattended robots are typically deployed on separate machines
Adding Key-Value Pairs
VarName.Add(Key, Value) - adds an item to an existing Dictionary. Because Add does not return a value, we use the Invoke Method activity.
Removing Keys
VarName.Remove(Key) - removes an item from the Dictionary. It can be used in an 'Assign' activity.
myStr = "This is a string variable 123456789" Char[] myChar = {"a"c, "s"c, "6"c} myStr.IndexOfAny(myChar)
3
NullReferenceException
A NullReferenceException exception is thrown when you try to access a member on a type whose value is null. A NullReferenceException exception typically reflects developer error and is thrown in the following scenarios: You've forgotten to instantiate a reference type. In the following example, names is declared but never instantiated: You've forgotten to dimension an array before initializing it. In the following example, values is declared to be an integer array, but the number of elements that it contains is never specified. The attempt to initialize its values therefore thrown a NullReferenceException exception. You get a null return value from a method, and then call a method on the returned type. This sometimes is the result of a documentation error; the documentation fails to note that a method call can return null. In other cases, your code erroneously assumes that the method will always return a non-null value. You're using an expression (for example, you're chaining a list of methods or properties together) to retrieve a value and, although you're checking whether the value is null, the runtime still throws a NullReferenceException exception. This occurs because one of the intermediate values in the expression returns null. As a result, your test for null is never evaluated. You're enumerating the elements of an array that contains reference types, and your attempt to process one of the elements throws a NullReferenceException exception. A NullReferenceException exception is thrown by a method that is passed null. Some methods validate the arguments that are passed to them. If they do and one of the arguments is null, the method throws an System.ArgumentNullException exception. Otherwise, it throws a NullReferenceException exception. The following example illustrates this scenario.
Procedure
A procedure explains: Who's 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.
What happens when we publish an automation process to the Orchestrator Personal Workspace?
A process is created automatically if one doesn't already exist, and existing processes are automatically updated to the latest published version.
Unattended robot
A robot deployed on a separate machine than any human user. Their jobs are triggered exclusively from Orchestrator. Since robots do not exists as separate entities in Orchestrator, a more technical definition would position unattended robots as execution slots - a user logged in on a machine, executing an automation job, as instructed by Orchestrator
Attended Robot
A type of robot working on the same machines as the humans, during the same hours. They are triggered directly by humans (usually through UiPath assistant) or by an event unrelated to what the human user does.
Adds a column to an existing DataTable variable. The input data can be of DataColumn type or the column can be added empty, by specifying the data type and configuring the options (allowing null values, requesting unique values, auto-incrementing, default value and maximum length).
Add Data Column
Adds a new row to an existing DataTable variable. The input data can be of DataRow type or can be entered as an Array Row, by matching each object with the data type of each column.
Add Data Row
Which of the following actions have to be taken to run a job on an attended robot connected to the cloud Orchestrator? The user has an 'Automation Developer — Named User' license type assigned. An automation process was published in Orchestrator, in a folder to which the user has access. The user is signed in to Orchestrator. The user was added to Automation Cloud.
An automation process was published in Orchestrator, in a folder to which the user has access. The user is signed in to Orchestrator. The user was added to Automation Cloud.
What is the most important capability for the mentioned UiPath components? Studio Orchestrator Assistant Robot Automation Cloud
Building automation projects Managing automation processes and jobs Commanding the attended robot Running automation jobs Managing the users and cloud services
How can we publish to the 'Orchestrator Personal Workspace Feed'?
By first enabling the option in Orchestrator and then selecting 'Orchestrator Personal Workspace Feed' when publishing in Studio.
Contains
Checks whether a specified substring occurs within a string. Returns true or false. Expression: VarName.Contains ("text") Output datatype: Boolean
Clear Collection
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.
String.Concat
Concatenates the string representations of two specified objects. Expression: String.Concat (VarName1, VarName2) Output datatype: String
Process
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.
Deployment and Hypercare
In the deployment stage, once the UAT is complete, the final process packages, libraries and assets are migrated to the production Orchestrator and set to run with production robots, which must have access to the production instances of all the applications in scope. Hypercare is a limited period which comes right after deployment. At this stage, the implementation team pays close attention to each process running in production. Usually hypercare entails daily sessions where cases run by the automation in prod are reviewed by the CoE and process SMEs, and any errors or issues are quickly patched and re-pushed to prod.
Combines rows from two tables by using values common to each other using the Join Wizard, according to a Join rule that answers the question "What to do with the data that doesn't match?". It is one of the most useful activities in business scenarios, where working with more than one Data Table is very common. This is why we'll cover the topic more in-depth in the next lessons.
Join Data Tables
Initialization (Of Dictionary)
Just like in the example of Lists, Dictionary variables need to be initialized with instantiated objects. In the previous example, the instantiation and initialization were done inside an 'Assign' activity. However, as you may remember from the Lists chapter, they can also be done from the Variables panel.
Replace (RegEx)
Replaces strings that match a regular expression pattern with a specified replacement string. Output datatype: String
LastIndexOf
Reports the zero-based index position of the last occurrence of a specified Unicode character or string within this instance. Expression: VarName1.LastIndexOf("author") Output datatype: Int32
IndexOf
Returns the zero-based index of the first occurrence of a specified Unicode character or string within this instance. Expression: VarName1.IndexOf("a") Output datatype: Int32
Try Catch Activity
System.Activities.Statements.TryCatch Catches a specified exception type in a sequence or activity, and either displays an error notification or dismisses it and continues the execution. 3 main sections: Try - holds the activity that could throw an exception Catch - specifies the exception type and , optionally, holds an activity that informs the user about the found exception (no limit to how many catches) Finally - holds an activity that should be executed only if no error occurred or if the error was already caught. Try - The activity performed which has a chance of throwing an error. Catches - The activity or set of activities to be performed when an error occurs. Exception - The exception type to look for. Please note that you can add multiple exceptions. Finally - The activity or set of activities to be performed after the Try and Catches blocks are executed. This section is executed only when no exceptions are thrown or when an error occurs and is caught in the Catches section.
Orchestrator
The component of the UiPath RPA Platform in charge of the management of automations, users and robots, as well as the management of the assets used in development or in running automations.
Assistant
The interface between the human user and the attended robot. It allows the human to trigger jobs, but also to organize processes, add reminders and so on
Which of the following actions have to be taken to run a job on an attended robot connected to the cloud Orchestrator? The user was added to Automation Cloud. The user is signed in to Orchestrator. An automation process was published in Orchestrator, in a folder to which the user has access. The user has an 'Automation Developer — Named User' license type assigned.
The user was added to Automation Cloud. The user is signed in to Orchestrator. An automation process was published in Orchestrator, in a folder to which the user has access.
Retrieving (from dictionaries)
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.