RPA was prominent for its automation capabilities, especially with the UI mimicking human actions at its early stages. And there is no doubt on how UiPath was highly capable of UI-based automation actions & functions.
UI Object Repository
- UI – User Interface
- Objects – Elements
- Repository – Library which holds some information for reference
So, now
let's just combine these into one as UI-Object Repository which is a "library
which holds all the UI-Elements a developer setup may be for an application
with one/multiple screens or even multiple applications".
We will first try to understand what is a library followed by UI-Object Library. Let’s keep it as simple as possible.
What is a Library?
Generally, Library is a place with a lot of books which people can lend and use as many times as they want.
Similarly, In UiPath we have libraries which may have many activities where processes can reference and use it any time and any number of times as required.
What is a UI-Library then?
Yes, you got it right.
It’s a library as stated above which has UI-Element Objects instead of activities. So, it allows us to reuse the UI Element target in various automation on-demand.
Why UI-Object Repo?
Now you will be scratching your head with doubt, similar to what I got at first…
Why do I need to indirectly use a library element instead I can just directly indicate my targets and complete the automation. Let’s break the ice now.
Analogy
Let me take a general life scenario, considering you are going to cook three dishes which have onion as one of their most veggies. Each dish requires 50gm of onion to be included.
There are two approaches you will perform this. Please find the below table which shows the events you perform with the time taken for each in both approaches.
Approach 1 |
Time Taken |
Approach 2 |
Time Taken |
You go shopping |
10 |
You go shopping |
10 |
Buy 50gm Onions |
10 |
Buy 150gm Onions |
10 |
Return Home |
10 |
Return Home |
10 |
Cook dish 1 |
15 |
Put it in a basket |
5 |
You go shopping |
10 |
Take 50gms Onions |
2 |
Buy 50gm Onions |
10 |
Cook dish 1 |
15 |
Return Home |
10 |
Take 50gms Onions |
2 |
Cook dish 2 |
15 |
Cook dish 2 |
15 |
You go shopping |
10 |
Take 50gms Onions |
2 |
Buy 50gm Onions |
10 |
Cook dish 3 |
15 |
Return Home |
10 |
|
|
Cook dish 3 |
15 |
|
|
SUM |
135 |
SUM |
86 |
Time taken is in mins for the above table
- Approach 1 took 135mins to complete the process
- Approach 2 took 86mins to complete the process
Approach 2 has an edge over 1.
The net gain here is approx. 50mins and this is only for one veggie. Now it’s time to think broadly involving various veggies and ingredients required for a dish to cook. The net gain will compound and have an exponential impact.
Also, here the Effort is directly proportional to Time Taken. So less work more outcomes in a shorter duration.
Now since all cooking over, let’s get back to the technical stuff a bit…
- Approach 1: Without Library Re-Building same things again and again for every automation
- Approach 2: We build Library once and use it in many places many times
Most of the automation we build will have UI actions & Business logic in which we may have
- One process using one or many UI-Elements in multiple places
- Multiple processes using one or many UI-Elements of an application at multiple places
Let’s check the stats now to get a clear picture.
Hope it is pretty clear now how the UI-Object Repository is super useful.
Conclusion
I just want to reiterate one point here. The efforts taken for configuring UI-Elements remain constant no matter how many processes you build with the UI Repo starting from 0 to 100 or even more. Cool, is it?
Even for Business Logic, we can implement the same using Libraries which will drastically reduce TAT.
Okay, there is one more surprise for you which can be the last part of the content.
Let’s go back to the cooking example once again. Hope you remember Approach 2.
What if I say to you, they don’t get you to the shop instead book it online and get delivered to your door? This will reduce your efforts going to the shop as well as you can concentrate on more productive things in the meantime.
Yep, from UiPath LTS 21.10 we have got a cool feature "Capture all elements" where in the UI-Object Repo you just say UiPath this is my application screen then it immediately captures all the elements for you automatically and gets it configured in the library. What else, it’s just to use it in your processes – simple as that.
So assumed that the time taken for UI-Object Repo is 8hrs which is now going to significantly reduce to around 4hrs at least. That’s a pretty good saving though.
Start implementing & I’m sure you will enjoy it!
No comments:
Post a Comment
Let me hear you 🙌✨