studio
latest
false
UiPath logo, featuring letters U and I in white

Studio User Guide

Last updated Dec 17, 2024

About Object Repository

The Object Repository ensures the management, reusability, and reliability of UI elements by capturing them as objects in a DOM-like repository, sharable across projects. It allows for creating and reusing UI taxonomies inside and across automation projects. With Object Repository you can build a UI API for your application and share it with your team within minutes.

The key features of the Object Repository are:

  • UI elements across the project are managed, updated, and modified from a centralized place.
  • View a list of all your UI activities inside your process by using the UI Activities tab inside Object Repository panel.
  • Quickly capture elements you need in your automation with the Capture Elements wizard.
  • increased selector reliability with the help of the Capture Elements recorder that captures elements, together with their anchors.
  • With the help of anchors, objects keep their reliability in case the application received a slightly new UI.
  • Drag-and-drop elements from the Object Repository panel.
  • Objects are reusable in local project or across projects when packaged as libraries.
  • Upgrade application and process UI elements in one go with UI libraries.



Prerequisites

The Object Repository works with UiPath.UIAutomation.Activities package versions 20.10.x and above.


When the Object Repository enforced toggle is set to Yes, activities part of the UIAutomation pack need to reference elements from the Object Repository.

The classic UI Automation activities are hidden by default. However, they are still available under the Classic category in the Activities panel and can be added to a project from the Activities panel or the Add activity search bar.

Key concepts

UI descriptors

A UI descriptor is a superset of selectors. It holds information for uniquely identifying elements on the screen.

UI descriptors are extracted from activities in the workflow and added to a structured schema that groups them by applications, application versions, screens, and UI elements. Out of this taxonomy structure, only screens and elements hold descriptor information. The rest are used for grouping and their role is to ensure upgrades between versions of an application.

UI descriptors can be part of:

  • One project for wide reuse.
  • Snippets repositories for testing purposes.
  • UI libraries for global cross-project sharing.
UI elements

UI elements contain full or partial element selectors, anchor selectors, screen and element image capture context, and other metadata that describes the element on the screen.

Screens

Screens are UI scopes that are either extracted from activities inside the workflow or are generated at element capture time. A screen groups together multiple elements belonging to the same screen.

UI applications

A UI application is a targeted application that can have multiple versions and each version can have multiple screens. Applications can be of multiple types:

  • Desktop/Web application
  • Mobile application

For defining mobile applications, you need to use UiPath.MobileAutomation.Activities package.

The structure of UI libraries created with the Object Browser has the following hierarchy: Application > Version > Screen > UI Element.

UI libraries

A UI library is an encapsulation of elements grouped by applications, application versions, and screens. Elements you define can be extracted as a UI library, and after publishing can be installed in other projects as a dependency.

A UI library may contain several applications but can contain only one version of a certain application. This mechanism ensures that when you upgrade a dependency, you also upgrade the application version you were using inside your projects.

When creating a new version of an existing application, you need to reuse the existing elements. Elements have unique identifiers that are used when referenced from activities. You can always change the contents of an element (descriptors and other metadata).

Reusability

The Object Repository enables you to reuse your UI elements across projects:

  • All locally stored elements can be reused at project level.
  • For testing purposes, you can use Snippets panel to save into and pass applications between projects. From Snippets you can add applications to your local project repository.
  • Extract elements into UI libraries and install them as a dependency into your projects when you want to reuse at a global level. You can also take a reusability-first approach and start by creating UI libraries with the elements you will need across all your automation projects.





Object Repository structure

The object repository has a tree structure where each node is an object representing screens or elements, all hierarchical under the application. The structure is the following:

  • Application - it can be one of two types: mobile or desktop/web, depending on what technology is used for UI Automation.
  • Version - applications can have multiple versions.
  • Screen - top-level window of an application version that can only be created under an app version.
  • UI element - an object on the screen with a descriptor and metadata. It can be of multiple types.

UI elements can be freely rearranged in the tree structure, as long as they remain under their designated screen. To move, simply drag and drop the element to the desired location inside the tree.

Elements can also be part of other elements and they can also be grouped under containers with no UI specific role. This allows defining a UI structure that is as close as possible to what the user sees on screen.

  • Prerequisites
  • Key concepts
  • Reusability
  • Object Repository structure

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.