Supremacy of UI-Object Repository

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.

Let’s dive in.

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
from the basket

2

Buy 50gm Onions

10

Cook dish 1

15

Return Home

10

Take 50gms Onions
from the basket

2

Cook dish 2

15

Cook dish 2

15

You go shopping

10

Take 50gms Onions
from the basket

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.

UI-Object Repo Analogy Stats












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 🙌✨

2023 Copyright : nmnithinkrishna.me