RPA With UI Path
and
FlaUI
By Agusto Sipahutar
Robotic Process Automation (RPA)
Robotic process automation (RPA) is a software technology that makes it easy to build,
deploy, and manage software robots that emulate humans actions interacting with
digital systems and software.
Just like people, software robots can do things like understand what’s on a screen,
complete the right keystrokes, navigate systems, identify and extract data, and
perform a wide range of defined actions. But software robots can do it faster and
more consistently than people, without the need to get up and stretch or take a
coffee break.
10 benefits of RPA
1. Reduce company costs
2. Gain productivity
3. Scale the business
4. Increase the quality of data analysis
5. Improve the organizational climate
6. Reduce operational risk
7. Enhance the Consumer Experience
8. Maintain the internal structure and systems
9. Ensure compliance with data regulation
10. Prepare your business for the future
Top 10 causes of RPA failures and how to
avoid them
1. Governance
2. Choice of Automation candidate
3. Management Challenges
4. Scaling Challenges
5. Third-party problems
6. Shadow deployments
7. Unrealistic expectations
8. Siloed RPA deployment
9. Poor change management communication
10. Improperly defining success criteria
UI Path
UI Path Orchestrator
UI Path Studio
UI Path Assistant / Agent
Demo
FlaUI
Installation of FlaUI
1. Create a New Project in Visual Studio
2. Right-click on the project and select “Manage NuGet Packages” (Using NuGet
Package Manager)
3. Select the ‘Browse’ tab and Search for FlaUI, it will display the FlaUI libraries.
4. Install the below libraries from NuGet package manager
FLAui.core, Flaui.uia2, Flaui.uia3.
NOTE: The downloaded libraries are limited to the project, which means it is not
available by default for all projects.
How to launch the application using
FlaUI
1) To start testing one should implement the static method “Launch” from the
“Application” class which is available in FlaUI.Core library.
2) You should pass the application path (the application you installed in your machine
and you want to automate) as a parameter to the Launch method as given in the
below example.
Searching an Element in the Application
1) To find the element in the application, we need to specify the treeScope of the
AutomationElement.
2) We can specify the AutomationElement by providing conditions like
ConditionFactory, ControlType, and action to be performed as explained in the below
example.
Install Flauinspect
We must know how to inspect an element using FLAUInspect. We need the Chocolatey
package manager to install Flauinspect, we will see the step by step process of the
implementation below.
1. Chocolatey is the package manager for windows. The Flauinspect is a package under the
Chocolatey package manager. So it is mandatory to install Chocolatey to inspect the
AutomationElement.
2. Go to https://chocolatey.org/install and follow the instructions to install Chocolatey.
3. After installing chocolatey, run this command “choco install flauinspect” in command
prompt to install Flauinspect.
4. To launch Faluinspect, run this command “flauinspect”, it will open the Flauinspect
application.
Demo
Tutorial Of FlaUI
1. https://codoid.com/windows-application-testing-using-flaui/
2. https://github.com/FlaUI/FlaUI
3.
https://www.youtube.com/watch?v=tb1BgILHXCY&list=PLacgMXFs7kl_fuSSe6lp6YRae
Ap6vqra9

RPA with UIPath and Flaui

  • 1.
    RPA With UIPath and FlaUI By Agusto Sipahutar
  • 2.
    Robotic Process Automation(RPA) Robotic process automation (RPA) is a software technology that makes it easy to build, deploy, and manage software robots that emulate humans actions interacting with digital systems and software. Just like people, software robots can do things like understand what’s on a screen, complete the right keystrokes, navigate systems, identify and extract data, and perform a wide range of defined actions. But software robots can do it faster and more consistently than people, without the need to get up and stretch or take a coffee break.
  • 3.
    10 benefits ofRPA 1. Reduce company costs 2. Gain productivity 3. Scale the business 4. Increase the quality of data analysis 5. Improve the organizational climate 6. Reduce operational risk 7. Enhance the Consumer Experience 8. Maintain the internal structure and systems 9. Ensure compliance with data regulation 10. Prepare your business for the future
  • 4.
    Top 10 causesof RPA failures and how to avoid them 1. Governance 2. Choice of Automation candidate 3. Management Challenges 4. Scaling Challenges 5. Third-party problems 6. Shadow deployments 7. Unrealistic expectations 8. Siloed RPA deployment 9. Poor change management communication 10. Improperly defining success criteria
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Installation of FlaUI 1.Create a New Project in Visual Studio 2. Right-click on the project and select “Manage NuGet Packages” (Using NuGet Package Manager) 3. Select the ‘Browse’ tab and Search for FlaUI, it will display the FlaUI libraries. 4. Install the below libraries from NuGet package manager FLAui.core, Flaui.uia2, Flaui.uia3. NOTE: The downloaded libraries are limited to the project, which means it is not available by default for all projects.
  • 12.
    How to launchthe application using FlaUI 1) To start testing one should implement the static method “Launch” from the “Application” class which is available in FlaUI.Core library. 2) You should pass the application path (the application you installed in your machine and you want to automate) as a parameter to the Launch method as given in the below example.
  • 13.
    Searching an Elementin the Application 1) To find the element in the application, we need to specify the treeScope of the AutomationElement. 2) We can specify the AutomationElement by providing conditions like ConditionFactory, ControlType, and action to be performed as explained in the below example.
  • 14.
    Install Flauinspect We mustknow how to inspect an element using FLAUInspect. We need the Chocolatey package manager to install Flauinspect, we will see the step by step process of the implementation below. 1. Chocolatey is the package manager for windows. The Flauinspect is a package under the Chocolatey package manager. So it is mandatory to install Chocolatey to inspect the AutomationElement. 2. Go to https://chocolatey.org/install and follow the instructions to install Chocolatey. 3. After installing chocolatey, run this command “choco install flauinspect” in command prompt to install Flauinspect. 4. To launch Faluinspect, run this command “flauinspect”, it will open the Flauinspect application.
  • 15.
  • 16.
    Tutorial Of FlaUI 1.https://codoid.com/windows-application-testing-using-flaui/ 2. https://github.com/FlaUI/FlaUI 3. https://www.youtube.com/watch?v=tb1BgILHXCY&list=PLacgMXFs7kl_fuSSe6lp6YRae Ap6vqra9

Editor's Notes

  • #4 Reduce company costs The RPA allows a drastic reduction of costs in the company. This is because, with the solution, we guarantee efficiency in the application of resources, and we dispense labor for automated tasks. In this way, it is possible to reallocate all investment in training and prepare professionals for more complex tasks.  Gain productivity Of course, by automating processes using machines, we can achieve much higher productivity peaks, depending only on our available resources. Robotic Process Automation guarantees a production line without interruptions since the machines will guide the entire process. Scale the business Managing machines and the number of robots working in the company is much easier than hiring, training, and relocating employees for specific functions. With the machine’s power, we can only replicate the entire operating belt and ensure the scalability of the business to operate on fronts and regions that we would never have imagined if we had a human workforce.  Increase the quality of data analysis Robots can interact with several different sources and databases, allowing them to collect this data and present it in an orderly manner to end-users: humans. This reduces the possibility of manual errors and guarantees much more quality for the organization’s analysis and decision-making power. Improve the organizational climate Let’s be honest: we don’t want to have our jobs replaced by machines, but we would like to automate bureaucratic and unnecessary tasks, right? And that is what the RPA will do. It is not a question of replacing man completely. It is an opportunity to focus on more intellectual, creative, and genuinely human activities.  Reduce operational risk As already mentioned, RPA helps to optimize resources and increase efficiency at the operational level. In other words, it is possible to do more with less, eliminate production bottlenecks, and reduce human errors. Thus, in summary, we have reduced all risks related to the organization’s operations. Enhance the Consumer Experience Robotic Process Automation allows us to abandon tasks with little added value for the organization. That way, we can focus more on our customers and provide a more focused approach to their needs. In addition, automation with robots already helps customers with tasks such as self-service with chatbots, for example. Everyone benefits from this type of solution. Maintain the internal structure and systems Contrary to what many people think, the use of RPA does not extinguish the systems, software, services, and platforms we use. In reality, the main objective of using robots is to enhance the use of these tools. Yes, because the robot itself will use them, but they do all the integration in an automated and much more intelligent way. Ensure compliance with data regulation Many customer data are susceptible and protected by new data regulation standards, such as GDPR. Besides, the consumer himself is more aware of the issue of security and privacy. With RPA, we reduced humans’ contact with sensitive customer data and started to manage them through robots. Prepare your business for the future One of the most significant benefits of RPA is preparing your business for the future. The hyper-automation is there and relies heavily on robots and AI to come true in many organizations. Starting investment now in this area can put your company one step ahead of this new moment.
  • #5 ere are 10 types of failures enterprises run into when launching RPA programs and tips on how best to avoid them. 1. Governance Schaefer argued that the most common problem is a lack of governance. Usually, when an organization points to an inability to deliver sufficient ROI, it's because it did not invest in appropriate management and oversight for the program. When RPA was first introduced, it was surrounded by significant hype, causing companies to mistakenly believe it would be a silver bullet. In this case, they may not have approached the program with the rigor it required, assuming the business workforce need only attend a few training courses and they would -- without the support of the IT group -- generate enough extensive automations to scale a program. "While there are undoubted benefits of user-friendly automation tools in the hands of the business and impressive one-off examples of impact, the vast majority of ROI-generating automations are delivered at the hands of a professional automation team," Schaefer said. Gina Schaefer 2. Choice of automation candidate RPA projects sometimes fail to produce ROI because enterprises choose the wrong automation candidate. It is somewhat easy to find basic tasks that can quickly be automated. In the enthusiasm to drive automation in the enterprise, many managers don't evaluate the benefits against the true TCO. "Just because you can automate something doesn't mean you should," Schaefer said. The automation bots for easier tasks only create incremental value relevant to a single user. Schaefer recommended enterprises adopt a value-driven approach that looks at automation as an enabler to holistic process transformation rather than discrete task automation. This way, the bot can have a major impact on an entire function and not just tweak tasks at one individual's desktop. 3. Management challenges RPA failure often results from the management of the digital workers once deployed to production. On the surface, it may seem that, once the bot is built, the work is done and it will run autonomously with no oversight. "In reality, an automation is more like a human worker than a piece of software," Schaefer said. Much like a new employee, the automation will encounter scenarios in its early days in production that it did not see in the training. While a comprehensive development model that anticipates the handling of these scenarios creates some degree of flexibility, nearly every automation requires a level of retraining until it has operated long enough to have encountered most scenarios. Also, like all other employees, automations experience changes in their environment, most of which require updates to the automation. "A well-run digital workforce maintenance program should not only ensure the bots are optimized to deliver at their peak performance, but should also monitor and report on the measurable value delivered by the automations and the overall impact to the business process holistically," Schaefer said. 4. Scaling challenges Bots are a great stopgap measure for many scenarios that involve copying data from one application or system to another, but they can face scaling challenges compared to direct API integrations. Russ Felker, CTO at GlobalTranz, a logistics service and freight management provider, found early RPA success but ran into these kinds of problems when the company started deploying more bots. Russ Felker "Bots are a great technology but, like any technology, has a point of diminishing returns from a scaling perspective," Felker said. As the information sets and frequency of data moves increased, the bots consumed a similar amount of resources. Felker and his team explored throwing more compute resources at the bots, reducing the frequency of data breadth and depth moved by the bots or moving to a more direct integration outside of the bot technology. They eventually converted parts of the data movement to direct links between the systems to make data flow more efficient. "Bots gave us the ability to implement more quickly, but we also realized we needed a more forward-looking monitoring and management policy to identify when moving from a bot to a more integrated process made sense," Felker said. 5. Third-party problems Felker also found complications in RPA being used to retrieve data from third parties because third-party interfaces aren't uniform. For example, truckers, many of whom operate independently, have traditionally provided paper documents to show proof of delivery rather than use applications. Felker's team determined that automating the retrieval of these documents with RPA would deliver great efficiency and value. But then they had to contend with the realization that documents are not always posted to the same place, with the exact same layout or in the exact same order. "Bots don't respond to variance very well," Felker said. "The software does the specific things it's asked to do very well but is a bit inflexible." It's important to remember that bots are not intelligent -- they simply automate rote tasks. If the task set for a bot alters or changes in a way that wasn't anticipated, the bot will fail. GlobalTranz has had this happen occasionally and had to improve monitoring and the notifications within those bots over time to better capture and redirect any issues that arose. 6. Shadow deployments To avoid an RPA failure, it's important to set guardrails for bot deployments so that frontline users are less likely to make mistakes. "Bots make it easier for people outside of the core development team to essentially create code," Felker said. This can lead to shadow development in organizations and a lack of oversight. Similar to any other technology, there needs to be proper management, monitoring and logging around the bots. "The ease of bot creation and deployment is deceptive -- it feels so simple to just create a deploy, but without the backing technology and process, the bot is likely to cause more headaches and create more work than just doing the task manually," Felker said. According to Felker, IT should also work directly with business users and communicate that RPA is only one tool in their IT toolbox. When determining whether a task is suitable for RPA, it's important to ask questions about the variability and repeatability of a task before assigning a bot to it. 7. Unrealistic expectations "Most of the failures I've encountered center on unrealistic expectations," said Lauren Lang, associate director for the business performance improvement practice at Protiviti, a global consultancy. Many projects begin with hopes of instant gratification. Although this is less prevalent than it was two years ago, it still exists. Some of the results of these types of RPA failures included RPA environments established with flaws, missed requirements that become poor designs and automated processes not tested with production data. Lauren Lang It's important to keep in mind that there are failures of automated processes and failures of RPA implementations, according to Lang. The failures of automated processes are as critical as the processes they run. For example, an automated process that performs a portion of the payroll processes has the potential to be disruptive to the point of impacting an organization's brand. Then, there are processes that become more of a nuisance when they fail. An example is an automated process that works to generate and distribute reports. Its impact is low if it simply will not run or produces inaccurate reports. The impact of RPA implementation failures is especially destructive when an organization is just starting off with RPA. Early failures include flawed infrastructure buildouts, poor requirements gathering and designs, and perceived failures created by unrealistic, early expectations. The impact here is arguably the greatest since RPA can become branded as an abject failure within the organization. "That leads to people in the organization wincing at the idea of taking on an RPA effort," Lang said. Applying learnings from early projects is critical. "RPA is no exception to the rule that to learn what it feels like to get burned, one must get burned," Lang said. "The key here is to create an environment that rewards people for overcoming mistakes." 8. Siloed RPA deployment Most digital transformation projects fail because those who rely on it don't understand how it operates or felt that they were left out of the planning process, said Prince Kohli, CTO at Automation Anywhere, an RPA tools provider. To avoid these mistakes, capitalize on the skill of nontechnical employees who appreciate being involved in bot development and can offer insight into how automation technology can advance business goals. By making the team who'll be using RPA daily feel engaged in the development of the process, they are more likely to buy into utilizing RPA from the beginning. Prince Kohli IT is a critical partner throughout the transformation process. Their role is to ensure that the system is scalable, reliable, secure and performs well. Getting nonspecialists involved in the creation of bots helps mitigate the risk of RPA failure for several reasons. At one level, it lightens the workload placed on specialized developers and helps with budgets and recruiting efforts in the process. "Bringing business stakeholders into bot creation also makes the bots more aligned with the way the business works," Kohli said. After all, who knows the processes better than the people who work with them every day? 9. Poor change management communication Many leaders fail to think holistically about the organization's culture that will need to adapt and support changes to its working environment before embarking on their RPA journey. "Embracing new technologies is not easy, particularly RPA, as it not only stands to change how individuals perform their jobs, but will transform the behavior of the organization as a whole," Kohli said. Therefore, communicating these changes effectively, listening to employees' concerns and securing their buy-in are essential for success. It's also important to train employees' skills and their ability to navigate this new bot-human culture. "Just as we train new drivers before they hit the road, it is important to ensure that your employees understand how to operate RPA technology, how to build bots and how to perform their new, bot-enhanced roles," Kohli said. 10. Improperly defining success criteria IT leaders also inadvertently doom their automation initiatives from the start by failing to define success, Kohli said. Understanding the desired outcomes at the beginning sets up the entire journey for success, yet oftentimes, organizations embark on RPA with a sole focus on cost savings. While saving time and money is certainly valuable, this view is so narrow it obscures other tremendous value-adds of a successful RPA adoption. These include the quality of the deployment, overall productivity increase and, most importantly, its impact on people.