60 likes | 75 Views
Machina Automation. Fast-Track UiPath Developer Module 11: Best Practices and Tips. 11 – Best Practices and Tips. Overview : This module presents some best practices and tips for building and deploying automated workflows in UiPath.
E N D
Machina Automation Fast-Track UiPath Developer Module 11: Best Practices and Tips
11 – Best Practices and Tips • Overview: This module presents some best practices and tips for building and deploying automated workflows in UiPath. • Organization: This module is organized into the following section: • 11.1: Best Practices and Tips
11.1 – Best Practices and Tips • Name Activities to more meaningful names • Document/Annotate your workflows describing the functionality • Description • Pre-Conditions • Post-Actions • Arguments List • Use UiExplorer to explore, create, and improve selectors • Use the Dispatcher and Performer design pattern when working with processes that use an Orchestrator Queue • Use Wildcards (*) and (?) within selectors to make them accurate and consistent • Add variables to selectors to make them dynamic
11.1 – Best Practices and Tips • Use DataTables for your TransactionData and DataRows for your TransactionItems when Orchestrator is not available • Remember the syntax for getting values out of Dictionary variables/arguments: • Config("KeyFieldName").ToString • Remember the syntax for getting values out of QueueItems: • TransactionItem.SpecificContent("FieldName").ToString() • Decompose large processes into simpler smaller individual processes • Arguments • Prefix arguments with the direction the data is being passed: • in_DataTable (passing into the invoked XAML file) • out_FilteredData (passing out of the invoked XAML file) • io_DataTable (passing into and out of the invoked XAML file)
11.1 – Best Practices and Tips • Add a Maximize Window as the first activity inside the Do of an Open Browser and Open Application activity • Use AndAlso in your conditions for short circuiting vs using And. • Before writing DataTables out to files, always verify that the DataTable is initialized and that it contains data • (Datatable is not nothing) AndAlsoDataTable.Rows.Count > 0 • Use an Output DataTable activity followed by a Write Line activity to see the contents of a DataTable • Use Control+D or right-click and select Disable Activity to comment out activities for testing other areas of the workflow • Use a separate “sandbox” workflow to build and test small pieces of functionality in isolation • Use Flowcharts with Flow Decisions instead of nested Ifs in a Sequence
11.1 – Best Practices and Tips • UiPath recording features can be used as starting points for automations, but always verify the selectors returned • Avoid using the “idx” attribute whenever possible • The default Timeout is 30 seconds. Add a value in milliseconds (i.e. 300) so that you aren’t waiting 30 seconds for the Timeout to expire if there is a problem with the activity • Use the Element Exists activity on UI elements to verify the state of an application (i.e. logged in, not logged in, etc.) • Delete the Exceptions_Screenshots directory before publishing a project that uses the RE Framework • When using the DataTable RE Framework, ensure that the TransactionData DataTable variable is loaded with the data to run the process in the Init state