39,59 €
Design RPA solutions to perform a wide range of transactional tasks with minimal cost and maximum ROI
Robotic Process Automation (RPA) enables automating business processes using software robots. Software robots interpret, trigger responses, and communicate with other systems just like humans do. Robotic processes and intelligent automation tools can help businesses improve the effectiveness of services faster and at a lower cost than current methods.
This book is the perfect start to your automation journey, with a special focus on one of the most popular RPA tools: UiPath.
Learning Robotic Process Automation takes you on a journey from understanding the basics of RPA to advanced implementation techniques. You will become oriented in the UiPath interface and learn about its workflow. Once you are familiar with the environment, we will get hands-on with automating different applications such as Excel, SAP, Windows and web applications, screen and web scraping, working with user events, as well as understanding exceptions and debugging. By the end of the book, you'll not only be able to build your first software bot, but also you'll wire it to perform various automation tasks with the help of best practices for bot deployment.
If you would like to pursue a career in Robotic Process Automation or improve the efficiency of your businesses by automating common tasks, then this book is perfect for you. Prior programming knowledge of either Visual Basic or C# will be useful.
Alok Mani Tripathi is the founder of RPATech, which is a leading end-to-end consulting and services company with a focus on RPA and AI. He is an early adopter of RPA and has been connected with various RPA tools providers and analysts. He has trained 200+ people on different RPA platforms. Alok has created and led multiple RPA Center of Excellence (CoE) for global organizations with a clear focus on cognitive and service delivery automation. He is a long-time contributor to the RPA community and maintains a community group with a huge following on LinkedIn.Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 243
Veröffentlichungsjahr: 2018
Copyright © 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor:Kunal ChaudhariAcquisition Editor:Noyonika DasContent Development Editor:Roshan KumarTechnical Editor: Harshal KadamCopy Editor: Safis EditingProject Coordinator: Hardik BhindeProofreader: Safis EditingIndexer: Mariammal ChettiyarGraphics: Jason MonteiroProduction Coordinator:Nilesh Mohite
First published: March 2018
Production reference: 1270318
Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.
ISBN 978-1-78847-094-0
www.packtpub.com
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Alok Mani Tripathi is the founder of RPATech, which is a leading end-to-end consulting and services company with a focus on RPA and AI. He is an early adopter of RPA and has been connected with various RPA tools providers and analysts. He has trained 200+ people on different RPA platforms. Alok has created and led multiple RPA Center of Excellence (CoE) for global organizations with a clear focus on cognitive and service delivery automation. He is a long-time contributor to the RPA community and maintains a community group with a huge following on LinkedIn.
Saibal Goswami has a career spanning more than 12 years, in which he has developed a strong competency in partnership management, client relationships, project management, business analysis, and operations management. He cultivated these competencies through an efficient process feasibility study, cost/benefit analyses, resource planning, and leading and mentoring cross-functional teams in order to maximize productivity. Saibal has been associated with RPA since the beginning. He has mastered various technical skills, such as RPA process assessment and RPA CoE, among others.
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Title Page
Copyright and Credits
Learning Robotic Process Automation
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
What is Robotic Process Automation?
Scope and techniques of automation
What should be automated?
What can be automated?
Techniques of automation 
Robotic process automation
What can RPA do?
Benefits of RPA
Components of RPA
Recorder
Development studio
Extensions and plugins
Bot runner
Control center
RPA platforms
Automation Anywhere
UiPath
Blue Prism
WorkFusion
Thoughtonomy
KOFAX
About UiPath
UiPath Studio
UiPath Robot
UiPath Orchestrator
The future of automation
Summary
Record and Play
UiPath stack
UiPath Studio
UiPath Robot
Types of Robots
UiPath Orchestrator
Downloading and installing UiPath Studio
Learning UiPath Studio
Projects
The user interface
The Ribbon
The Quick Access Toolbar
Designer panel
Properties panel
Activities panel
Project panel
Outline panel
Output panel
Library panel
Variable panel
Argument
Task recorder
 Advanced UI interactions
Input methods
Output methods
Step-by-step examples using the recorder
Emptying trash in Gmail
Emptying Recycle Bin
Summary
Sequence, Flowchart, and Control Flow
Sequencing the workflow 
What is a Sequence?
Activities 
Using activities with workflows
What Flowcharts are and when to use them
Control flow, various types of loops, and decision making
The Assign activity
The Delay activity
Example
The Break activity
Example
The While activity
Example
The Do while activity
Example
The For each activity
Example
The If activity
The Switch activity
Example
Step-by-step example using Sequence and Flowchart
How to use a Sequence
How to use a Flowchart
Step-by-step example using Sequence and Control flow
Summary
Data Manipulation
Variables and scope
Collections
Arguments – Purpose and use
Data table usage with examples
Building a data table
Building a data table using data scraping (dynamically)
Clipboard management
File operation with step-by-step example
Read cell
Write cell
Read range
Write range
Append range
CSV/Excel to data table and vice versa (with a step-by-step example)
Reading an Excel file and creating a data table by using data from the Excel file
Creating a data table and then writing all its data to an Excel file
Summary
Taking Control of the Controls
Finding and attaching windows
Implementing the Attach Window activity
Finding the control
Anchor base
Element Exists
Element scope
Find children
Find element
Find relative element
Get ancestor
Indicate on screen
Techniques for waiting for a control
Wait Element Vanish
Wait Image Vanish
Wait attribute
Act on controls – mouse and keyboard activities
Mouse activities
The Click activity
The Double-click activity
The Hover activity
Keyboard activities
Send hotkey
Type into activity
Type secure text
Working with UiExplorer
Handling events
Element triggering events
Click trigger
Key press trigger
Image triggering events
System triggering events
Hotkey trigger
Mouse trigger
System trigger
Revisit recorder
Basic recording
Desktop recording
Web recording
Citrix
Screen Scraping
When to use OCR
Types of OCR available
How to use OCR
Avoiding typical failure points
 Selectors
 Scope of the variable
 Delay activity
 Element Exists
Try/Catch 
toString
Summary
Tame that Application with Plugins and Extensions
Terminal plugin
SAP automation
How SAP Automation affects data entry jobs
Examples where SAP automation is used commonly
Java plugin
Why are we using the Java plugin with UiPath Studio?
Citrix automation
How does the Citrix environment work?
Mail plugin
PDF plugin
Web integration
Excel and Word plugins
Excel plugin
Word plugin
Credential management
Extensions – Java, Chrome, Firefox, and Silverlight
Summary
Handling User Events and Assistant Bots
What are assistant bots?
Monitoring system event triggers
Hotkey trigger
Mouse trigger
System trigger
Monitoring image and element triggers
An example of monitoring email
Example of monitoring a copying event and blocking it
Launching an assistant bot on a keyboard event
Summary
Exception Handling, Debugging, and Logging
Exception handling 
Common exceptions and ways to handle them
Unavailability of UI element
Handling runtime exceptions 
Orbit reference not set to the instant of an object
Index was outside the bounds of an array. Index out of the range
Image not found in the provided timeout
Click Generic error - cannot use UI CONTROL API on this UI node please use UI Hardware ELEMENTS method
Logging and taking screenshots
Client logging
Server logging
Debugging techniques
Setting breakpoints
Slow step
Highlighting
Break
Collecting crash dumps
Enabling crash dumps
Disabling crash dumps
Error reporting
Enterprise Edition customers
Community Edition users
Summary
Managing and Maintaining the Code
Project organization
Picking an appropriate layout for each workflow
Blank
Simple process
Agent process improvement
Transactional business process
Breaking the process into smaller parts
Using exception handling
Making your workflow readable
Keeping it clean
Nesting workflows
How to nest a workflow inside a single workflow
Reusability of workflows
Invoke workflow file
Templates
Adding a workflow as a template
Commenting techniques
State Machine
When to use Flowcharts, State Machines, or Sequences
Using config files and examples of a config file
Integrating a TFS server
Summary
Deploying and Maintaining the Bot
Publishing using publish utility
How to publish a workflow in UiPath
Writing/editing the published package info into the .json file
Overview of Orchestration Server
Queues
Assets
Process
Deploying a process
Using Orchestration Server to control bots
Robot statuses
Editing the Robot
Deleting the Robot
Displaying logs for a Robot
Using Orchestration Server to deploy bots
Creating a provision Robot from the Orchestrator
 Connecting a Robot to Orchestrator
Deploy the Robot to Orchestrator
License management
Activating and uploading a license to Orchestrator
Publishing and managing updates
Packages
Managing packages
Uploading packages
Deleting packages
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
In today's digital world, enterprises are looking toward cost-efficient digital delivery. Robotics Process Automation (RPA) is a rapidly growing technology that helps enterprises automate processes by mimicking human action on computers, thereby delivering faster with consistent quality. Many cognitive abilities are now being introduced in this technology. UiPath is a leading RPA platform and is the fastest way of automating business processes. This book will take you on a journey where you will come to understand RPA technology and get your hands dirty in building bots to automate processes. This book will enable you to become ready for the future of RPA.
This book is for anyone who wants to get started with their career in RPA. Basic knowledge of C#/ VB.NET is required.
Chapter 1, What is Robotic Process Automation?, In this chapter, readers will get to know about the history of automation and the advent of RPA. What types of automation can be categorized as RPA? What do future analysts predict? Who are the major players in the market? What are the benefits of RPA? All this is covered in this chapter.
Chapter 2, Record and Play, In this chapter, readers will be introduced to UiPath Stack and Process Designer/Studio, and will use wizard-based tools to quickly automate mundane tasks.
Chapter 3, Sequence, Flowchart, Control Flow, examines the project that was generated by the recorder and get an explain the program flow (Workflow). Readers will also understand the use of sequences and the nesting of activities. Readers will learn to use the building blocks of a Workflow Flowchart and Control flow (for looping and decision making).
Chapter 4, Data Manipulation, teaches techniques to use memory with variables. Readers will also learn about data tables to store data in and easy ways to manipulate data in memory. This chapter also shows how disk files (CSV, Excel, and so on) are used to persist data.
Chapter 5, Take Control of the Controls, states that extraction is a primary feature of RPA which enables UI automation. Behind the scenes, many technologies are at work to seamless extract information from the UI. When typical RPA techniques are not successful, OCR technology is used to extract information. In this chapter, readers will learn about various selectors available in UiPath to extract and take action on controls. We will use one browser-based application to accomplish the task explained in each section. In the end, we will automate one Windows application task.
Chapter 6, Tame that Application with Plugins and Extensions, UiPath has many plugins and extensions to simplify UI automation. Apart from basic extraction and interaction with the desktop screen, these plugins allow users to directly interact with that application or simplify UI automation. Readers will learn about the use of these plugins and extensions. Each section has examples and use cases.
Chapter 7, Handling User Events and Assistant Bots, in this chapter, readers will learn about Assistant bot its utility. All monitoring events that can be used to trigger actions have been covered, and two examples of monitoring events have also been given.
Chapter 8, Exception Handling, Debugging, and Logging, in this chapter, readers will learn to use exception handling techniques, log errors screenshots, and find out other useful information to be used for debugging or reporting. Readers will learn how to debug code.
Chapter 9, Managing and Maintaining the Code, covers the organization of the project, modularity techniques, workflow nesting, and using a TFS server to maintain versions of the source code.
Chapter 10, Deploying and Maintaining the Bot, in this chapter, readers will learn about publishing utility and Orchestration server. Readers will also learn how a production environment is prepared.
A basic understanding of C#/ VB.NET, a laptop to work on an, installation of UiPath Studio, and this book is all you need to get started with your bot making process!
You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.
You can download the code files by following these steps:
Log in or register at
www.packtpub.com
.
Select the
SUPPORT
tab.
Click on
Code Downloads & Errata
.
Enter the name of the book in the
Search
box and follow the onscreen instructions.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
WinRAR/7-Zip for Windows
Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux
The code bundle for the book is also hosted on GitHub athttps://github.com/PacktPublishing/Learning-Robotic-Process-Automation. We also have other code bundles from our rich catalog of books and videos available athttps://github.com/PacktPublishing/. Check them out!
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://www.packtpub.com/sites/default/files/downloads/LearningRoboticProcessAutomation_ColorImages.pdf.
There are a number of text conventions used throughout this book.
CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "In our case, we have put in "What's your name?"."
Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Add an Input dialog activity inside the Sequence."
Feedback from our readers is always welcome.
General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!
For more information about Packt, please visit packtpub.com.
Nowadays, there is almost no aspect of our lives that is unaffected by automation. Some examples include washing machines, microwave ovens, autopilot mode for automobiles and airplanes, Nestlé using Robots to sell coffee pods in stores in Japan, Walmart testing drones to deliver products in the US, our bank checks being sorted using Optical Character Recognition (OCR), and ATMs.
The term automation is derived from the Greek words autos meaning self, and motos, meaning moving. It is believed to have been coined in the 1940s when there was an increased use of automated devices in mechanized production lines in the Ford Motor Company.
Automation, in simple words, is technology that deals with the application of machines and computers to the production of goods and services. This helps in getting work done with little or no human assistance.
With the advent of computers, many software systems were developed to accomplish tasks that were previously done on paper to manage businesses, or not being done at all due to the lack of tools. Some of these are bookkeeping, inventory management, and communications management.
There is also a type of software that ties these systems and people together in workflows, known as Business Process Management (BPM) tools. This software has been developed for areas such as record systems, engagement systems, insight systems, and innovation systems. These mostly replicate processes in real-life scenarios.
In the digital world, automation and software development are two different terms. Very often, however, one is confused with the other. If some portion of a workflow can be programmed to be done without human intervention, it can be called automation. For example, in order to pass any invoice in a payment system, Ms. Julia at ABC organization needs to check that goods have been delivered and recorded in an inventory management system. This is a cumbersome job, as it has to be done for each and every invoice. Also, for larger organizations, more people are needed to do this check on computers. However, Jack, an application developer, proposes that he can integrate those two systems using database integration techniques. He will write a procedure that will fetch data from the inventory management system and automate the check of receivables.
Developing an inventory management software system is called software development, while programming a step so that no more human intervention is required is called automation.
In this chapter, you will learn about the basic concepts of automation and Robotic process automation.
There are various techniques used and available to automate steps and processes in an organization where software systems are being used to accomplish certain tasks. Before we look at these techniques however, let us see what can be automated and what should be automated.
There are a few aspects that have to be taken into consideration for choosing automation candidates. The following processes should be automated:
Repetitive steps
Time-consuming steps
High-risk tasks
Tasks with a low-quality yield
Tasks involving multiple people and multiple steps
And everything else!
We have found out what should be automated. Now the question arises what can be automated?
In order to automate something, it needs to have the following characteristics:
Well defined and rule-based steps
Logical
An input to the task can be diverted to the software system
Input can be deciphered by software systems with available techniques
The output system is accessible
Benefits are more than the cost
There are various techniques available for automation and programmers have been using them for years to increase efficiency in enterprises:
Custom software
: Developing new software to perform repetitive tasks.
Runbook
: Runbooks are typically used for IT-based operations. They are a compilation of a set of commands or tasks that are performed for maintenance and other types of activities. Runbooks can be offline as well, often referred to as run commands for performing sets of tasks.
Batch
: Batch files used to very popular. They used to compile a sequence of commands that could be run by a single click or command. They can also be scheduled to be run at a specific time using the scheduler.
Wrapper
: Wraps around existing software or
hosts client applications.
The wrapper monitors activities in a client app and performs actions based on rules.
For example:
Putting validation on top of a mainframe application using hummingbird
Hosting a website inside a shell, navigation, and actions
Browser automation
: Greasemonkey and many other web macro software helped in browser-based automation. It can be used to read from a website and save to a database. It can also write to fields based on rules. Using this technique, a whole website can be changed, and components can be added or removed from the website. Sometimes, it is also referred to as web scripting or web injections.
Desktop automation
: Traditionally, desktop automation used to mean that multiple screens on a desktop were woven together to present a single screen, and if there was some data transfer from one screen to another, it could be done automatically. Recently, assisted Robotics process automation has also been considered for desktop automation by some companies.
Database
/
web service integration
: In database integration, we read/write to a client database directly. In web service integration, we communicate with the client system using a web service:
Today, automation has reached a stage of maturity where a number of other technologies have developed from it. Robotic process automation (RPA) is one such transformational burgeoning area. Robot in Robotic process automation means software programs that mimic human actions.
In simple words, RPA involves the use of software that mimics human actions while interacting with applications in a computer and accomplishing rule-based tasks. This often requires reading from and typing, or clicking on existing applications that are used to perform the given tasks.
In addition, these software Robots also perform complex calculations and decision making on the basis of the data and predefined rules. With the rapid progress of technology and renewed efforts in the area of artificial intelligence, it has become possible to use State activity: Transitions contain three sections—Trigger, Condition, and Action, which enable you to add a trigger for the next state or a condition under which an activity is to be executed. with RPA to accomplish tasks that were not possible earlier. Some of the technologies being adopted with RPA are as follows:
Machine learning
Natural language processing
Natural language generation
Computer vision
With the inclusion of the preceding technologies, sometimes it is also referred to as intelligent automation.
With the advent of RPA, it has become much easier to automate tasks. Now, we need to know only the steps taken by humans and make the Robots mimic the action on a computer screen using mouse and keyboard. This is a big deal because in most cases, the process is already defined and the steps documented. Humans also follow the same operating procedures, which define the steps taken to accomplish the task. Business logic, validation of data, transformation, and use of data is already coded in existing systems that humans use to accomplish a task, a simple example being invoice data entry.
RPA platforms allow the program, called Robots, to interact with any application in the same way a human would do, hence, automating rule-based work by recording those steps for later playback.
An important point that distinguishes RPA from traditional automation is that the software Robot is trained using steps that are illustrative rather than using instructions based on code. Thus, a person with little programming experience can be trained on these platforms to automate simple to complex processes.
Also, RPA software, unlike traditional automation, is capable of adapting to dynamic circumstances, for example, when checking an electronic form of new employees in a company. If the pin code is missing in a form, in traditional automation the software would point out the blank field as an exception, and then a human being would search for the relevant pin code and correct the form. In RPA however, the software is capable of performing all the tasks mentioned previously with no human assistance.
From tedious, repetitive, and high volume tasks, to diverse, complicated systems that need to work together lucidly, RPA can handle it all. There is consistency in quality, accuracy, productivity and efficiency, faster delivery of services, and of course, lower operation costs.
With the constant development and integration of RPA with industries, people previously engaged in mundane, repetitive tasks can now move on to engaging themselves in higher value, better quality activities, leaving the tedious tasks to the software Robots.
Today, RPA has matured beyond doing mundane repetitive tasks, and is seen as a transformational technology that can bring tremendous value to the organization adopting it. The ability to create full audit trails is significant for improving the quality of work being done and eliminating human error. Once trained, these Robots will perform tasks with the same precision over and over again. These Robots can interact with applications irrespective of the technologies on which the applications are built. They can work with popular ERP applications such as SAP, Oracle, or Microsoft Dynamics, and BPMs such as Pega systems and Appian.
Custom applications built on .NET, Java, the command-line, or mainframe terminal are easy to use with RPA.
With the inclusion of AI technologies, RPA now has the capability to read from images or scanned documents, and it can interpret unstructured data and formats as well. However, most of the implementation is happening with structured and digital data.
Today, RPA is being widely accepted across industries and across the world. The following industries can benefit a lot from RPA:
Business process outsourcing
(
BPO
): With RPA and its benefits of reduced costs, the BPO sector can now depend less on outsourced labor.
Insurance
