- Notas relacionadas
- Primeros pasos
- Instalación y configuración
- Proyectos de automatización
- Acerca de la publicación de proyectos de automatización
- Diseñar automatizaciones
- Gestionar paquetes de actividades
- Configuración de los Ajustes del Proyecto de Actividades
- Firma de paquetes
- Control
- Importar entidades
- Experiencia de diseño moderna
- Vincular un proyecto a una idea en Automation Hub
- Usar Data Manager
- Dependencias
- Tipos de flujos de trabajo
- Flujo de control
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- Registro
- La herramienta de diagnóstico
- Analizador de flujo de trabajo
- Acerca del analizador de flujo de trabajo
- ST-NMG-001: convención sobre nombres de variables
- ST-NMG-002: convención de nombres de argumentos
- ST-NMG-004: duplicación de nombres de visualización
- ST-NMG-005: anulación de variables
- ST-NMG-006: argumentos de anulación de variables
- ST-NMG-008: longitud variable excedida
- ST-NMG-009: variables de datos prefijados
- ST-NMG-011: argumentos de prefijo Datatable
- ST-NMG-012: valores predeterminados de los argumentos
- ST-NMG-016: longitud del argumento excedida
- ST-NMG-017: el nombre de la clase coincide con el espacio de nombres predeterminado
- ST-DBP-002: recuento de Argumentos elevado
- ST-DBP-003: bloque de Catch vacío
- ST-DBP-007: múltiples capas de diagramas de flujo
- ST-DPB-010: varias instancias de [flujo de trabajo] o [caso de prueba]
- ST-DBP-020: propiedades de salida no definidas
- ST-DBP-021: tiempo de espera codificado
- ST-DBP-023: flujo de trabajo vacío
- ST-DBP-024: comprobación de actividad de persistencia
- ST-DBP-025: requisito previo para la serialización de variables
- ST-DBP-026: retraso en el uso de la actividad
- ST-DBP-027: mejor práctica de persistencia
- ST-DBP-028: requisito de serialización de argumentos
- ST-USG-005: argumentos de actividad codificados
- ST-USG-009: variables no utilizadas
- ST-USG-010: dependencias sin utilizar
- ST-USG-014: restricciones de los paquetes
- ST-USG-017 - Invalid parameter modifier
- ST-USG-020: mensajes de registro mínimos
- ST-USG-024: guardado sin usar para más adelante
- ST-USG-025: uso incorrecto de los valores guardados
- ST-USG-026: restricciones de actividad
- ST-USG-027: paquetes necesarios
- ST-USG-028: Restringir la invocación de plantillas de archivo
- ST-USG-032 - Etiquetas obligatorias
- ST-USG-034 - URL Automation Hub
- Variables
- Argumentos
- Espacios de nombres importados
- Automatizaciones codificadas
- Introducción
- Registrar servicios personalizados
- Contextos Antes y Después
- Generando código
- Generar casos de prueba codificados a partir de casos de prueba manuales
- Automatización atendida basada en desencadenadores
- Grabación
- Elementos de la IU
- Selectores
- Repo. de objetos
- Extracción de datos
- Automatización de imágenes y texto
- Acerca de la automatización de imágenes y texto
- Actividades con el ratón y el teclado
- Ejemplo de uso de la automatización de ratón y teclado
- Actividades de texto
- Ejemplo de uso de la automatización de texto
- Actividades de OCR
- Actividades de imagen
- Ejemplo de uso de la automatización de OCR y la automatización de imágenes
- Automatización de Citrix Technologies
- Automatización RDP
- Automatización de VMware Horizon
- Automatización de Salesforce
- Automatización SAP
- Automatización de IU de macOS
- La herramienta ScreenScrapeJavaSupport
- El protocolo WebDriver
- Extensiones
- Acerca de las extensiones
- Herramienta SetupExtensions
- UiPathRemoteRuntime.exe no se está ejecutando en la sesión remota
- UiPath Remote Runtime impide que la sesión de Citrix pueda cerrarse
- UiPath Remote Runtime provoca una fuga de memoria
- El paquete UiPath.UIAutomation.Activities y las versiones de UiPath Remote Runtime no coinciden
- La extensión de UiPath necesaria no está instalada en la máquina remota
- Configuración de la resolución de la pantalla
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Chrome se elimina automáticamente
- Es posible que la extensión se haya dañado
- Comprueba si la extensión para Chrome está instalada y habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilitar el acceso a las URL de archivos y el modo de incógnito
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Chrome
- Extensión de Chrome en Mac
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Edge se elimina automáticamente
- Es posible que la extensión se haya dañado
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Edge
- Extensión para Safari
- Extensión para VMware Horizon
- Extensión para Amazon WorkSpaces
- Complemento SAP Solution Manager
- Add-in de Excel
- Conjunto de pruebas - Estudio
- Solución de problemas
- Acerca de la resolución de problemas
- Assembly compilation errors
- Compatibilidad y limitaciones de Microsoft App-V
- Solución de problemas de Internet Explorer x64
- Problemas de Microsoft Office
- Identificación de elementos de la interfaz de usuario en PDF con opciones de accesibilidad
- Reparar Soporte Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected
Guía de usuario de Studio
Crear un repositorio de objetos
Un repositorio de objetos es una colección de los elementos agrupados por las aplicaciones, versiones y pantallas que pueden proceder de:
- un proyecto local, p. ej., el repositorio local.
- una biblioteca, p. ej., dependencias de la biblioteca de IU con el proyecto actual.
Puede crearse un repositorio local de los siguientes modos:
- mediante la grabadora Capturar elementos que permite capturar los descriptores de la IU.
- manualmente, creando las aplicaciones, las pantallas y los elementos directamente en el panel Repositorio de objetos.
Puede crearse una biblioteca de IU de alguno de los siguientes modos:
- extrayendo el repositorio local de cualquier proyecto en un proyecto de biblioteca y publicándolo como un paquete NuGet.
-
empezando por una biblioteca nueva, creando el repositorio allí y publicándolo como paquete NuGet.
A continuación, puedes utilizar los paquetes NuGet de la biblioteca de IU y añadirlos como dependencias a tus procesos.
Importante: El grabador de Capturar elementos solo registra objetos para reutilizar en proyectos, la grabadora no genera ningún flujo de trabajo en el panel Diseñador.
En una biblioteca o proceso, haz clic en el botón Capturar elementos en el repositorio de objetos para abrir la grabadora de Capturar elementos.
Haz clic en Iniciar grabación para empezar a capturar elementos. El grabador Capturar elementos utiliza la tecnología Destino unificado disponible en la versión 20.10 y posteriores del paquete UIAutomation.Activities para capturar los destinos y anclar con un cierto grado de precisión para cada selector, imagen o anclaje.
Los elementos de la IU se capturan junto con un selector, un selector difuso y una imagen, cada uno con un grado de precisión. Puedes elegir que mantenga solo uno o todos los elementos de destino. Lo mismo se aplica a los elementos de anclaje asociados a cada elemento de la IU.
En el grabador, puedes:
- Hacer clic en Añadir aplicación o Añadir pantalla para añadir una nueva aplicación o pantalla.
- Pausa la grabación en cualquier momento haciendo clic en Pausar. Para reanudar la grabación, haz clic de nuevo en Grabar.
-
Administrar elementos grabados:
- Actualiza las propiedades de una pantalla o un elemento seleccionándolos en el panel izquierdo y editándolos en el panel Propiedades de la derecha.
- Reordena y agrupa elementos arrastrándolos y soltándolos en el panel izquierdo.
- Resalta los elementos que ya hayas capturado para identificarlos fácilmente manteniendo el puntero sobre sus nombres en la ventana Capturar elementos y utilizando el botón .
-
Mientras la grabación esté detenida:
- Elimina un elemento haciendo clic sobre él con el botón derecho y seleccionando Eliminar.
- Crea un nuevo elemento como secundario de una pantalla o elemento haciendo clic con el botón derecho sobre el elemento existente y seleccionando Crear elemento.
- Opcionalmente, haz clic en Configuración y luego selecciona si deseas configurar cada elemento o aplicar cambios automáticamente (ambas configuraciones están habilitadas de forma predeterminada).
- Haz clic en Guardar objetos en la biblioteca para guardar los cambios, cierra la grabadora y vuelve a tu proyecto.
Puedes utilizar la función Capturar todos los elementos para capturar todos los elementos disponibles de una aplicación mediante la tecnología Computer Vision y añadidos al repositorio de objetos. Este método es útil para escenarios en los que la automatización se basa en gran medida en el uso del repositorio de objetos, ya que no tendrás que añadir manualmente todos los elementos de la interfaz de usuario, ahorrándote así tiempo al crear el proceso.
- Haz clic en el botón Capturar todos los elementos en el asistente de captura de elementos. Se te pedirá que indiques la ventana que contiene los elementos que quieres añadir al repositorio de objetos. También puedes seleccionar solo una región de la aplicación de destino haciendo clic y arrastrando un rectángulo del área de la que quieres capturar elementos.
-
Al indicar la aplicación, esta detecta todos los elementos y los resalta en verde. También puedes cancelar la selección de elementos que no quieras añadir al repositorio de objetos de forma manual. La ventana Asistente de escaneo te permite escoger Seleccionar todo o Anular la selección de todos los elementos mediante los botones correspondientes. Si seleccionas la casilla de verificación Capturar texto, los elementos de texto también se capturan. Cuando hayas hecho tu selección, presiona Capturar para cerrar el Asistente de escaneo y volver a la ventana Capturar elementos.
Si hubiera elementos que no han sido identificados, puedes ayudarnos a mejorar la detección enviando una imagen a UiPath para su análisis. Haz clic en Informar de incidencias, selecciona un área con elementos no identificados y a continuación selecciona Enviar.
Nota:Esta función requiere que hayas configurado un servidor de Computer Vision para su uso. Hay varios métodos disponibles para hacerlo:
Después de elegir tu tipo de servidor preferido, debes seleccionarlo para usarlo en el proyecto actual editando la Configuración del servidor y del proyectoApikey .
Las aplicaciones, las pantallas y los elementos deben recibir nombres descriptivos desde la grabadora Captura elementos para que sean fácilmente reconocibles en el Repositorio de objetos.
Un selector de una aplicación puede representar un botón, una casilla de verificación, un cuadro de texto, un botón de alternancia, un cuadro de lista, y cualquier tipo de elemento que pueda interactuar con UiPath Robot. El elemento capturado se puede definir desde la grabadora Capturar elementos.
En la lista desplegable Tipo, busca y selecciona el tipo adecuado para cada elemento. En el Repositorio de objetos, el elemento recibe un icono específico para su tipo, lo que facilita la distinción entre objetos.
Tras capturar los elementos, haz clic en el botón Guardar objetos en la biblioteca y los objetos se añaden al Repositorio de objetos. Para añadir elementos adicionales, haz clic con el botón derecho en una pantalla o un elemento del repositorio y selecciona Crear elemento. Para añadir pantallas adicionales, haz clic con el botón derecho en la aplicación y selecciona Crear pantalla.
Si has salido del grabador antes de capturar todos los elementos deseados o quieres añadir o modificar elementos usando Capturar elementos para una aplicación o pantalla que ya se ha añadido al Repositorio de objetos, puedes iniciar el grabador en cualquier momento en el contexto de dicha aplicación o pantalla:
-
Haz clic con el botón derecho sobre cualquier aplicación o pantalla bajo Descriptores de IU, y luego selecciona Capturar elementos. Esto abre la ventana Capturar elementos en el contexto de esa aplicación o pantalla:
- Si seleccionaste una aplicación, todas las pantallas y elementos de la aplicación se prerrellenan en Capturar elementos.
- Si seleccionaste una pantalla, todos los elementos de esa pantalla se prerrellenan en Capturar elementos.
- Actualiza las pantallas y elementos según sea necesario. Puedes añadir nuevas pantallas, empezar a grabar para añadir nuevos elementos, editar o eliminar las pantallas o elementos existentes. Si haces cambios en pantallas y elementos existentes, los cambios se aplican a los descriptores del Repositorio de objetos al guardar.
- Haz clic en Guardar objetos en la biblioteca para guardar los cambios, cierra la grabadora y vuelve a tu proyecto.
Puedes crear tu propio repositorio desde dentro del panel Repositorio de objetos definiendo la aplicación, cada pantalla y elemento manualmente.
En el panel Repositorio de objetos, haz clic en el signo más de la pestaña Descriptores, o haz clic en Descriptores de proyectos en la misma pestaña y selecciona Crear aplicación. Se abre la ventana Crear aplicación:
Añade un nombre exclusivo para la aplicación, una versión y una descripción. Haz clic en Crear aplicación. La aplicación es visible en la pestaña Descriptores, en Descriptores de IU del proyecto.
En la pestaña Descriptores, selecciona la aplicación, haz clic en el signo más o haz clic en la aplicación y selecciona Crear pantalla. Se abre la ventana Añadir pantalla:
Añade un nombre único para la pantalla y una descripción. Indica la pantalla que quieres automatizar y edita el elemento capturado con el destino unificado:
- cambia la ruta de la aplicación si es necesario.
-
añade argumentos de la aplicación.
Una vez finalizado, haz clic en Crear pantalla.
En la pestaña Descriptores, selecciona la pantalla de la aplicación, haz clic en el signo más, o haz clic con el botón derecho en la pantalla y selecciona Crear Elemento. Se abre la ventana Añadir elemento:
En la sección Tipo de descriptor, haz clic en Indicar elemento para usar Destino unificado para indicar y capturar el elemento de la pantalla.
Añade un nombre intuitivo en el campo Nombre del elemento y selecciona el tipo de elemento de la lista desplegable en Tipo. Haz clic en Guardar cuando se haya realizado.
- Para editar un elemento del Repositorio de objetos, haz clic con el botón derecho en él y selecciona Editar elemento, o haz doble clic en el elemento del árbol.
- Para editar el descriptor de un elemento, utiliza la opción Editar descriptor en la ventana Editar elemento o selecciona Editar descriptor.
Si el repositorio de objetos se aplica en tu instancia de Studio (como se indica en las instrucciones de la página Acerca del repositorio de objetos), al utilizar la Grabadora de aplicaciones/web, las actividades generadas no hacen referencia automáticamente a los descriptores del repositorio.
En el ámbito de actividades, el mensaje emergente de la herramienta informativa te indica que debes añadir descriptores al Repositorio de objetos o utilizar los existentes.
Para ello, haz clic en el icono dentro de la actividad y sigue los pasos para añadir o reutilizar descriptores, o selecciona Opciones > Añadir al repositorio de objetos para añadir el elemento al repositorio de objetos.
Una vez que hayas creado un repositorio de objetos, puedes añadir más elementos de la IU directamente desde el panel Diseñador.
En el panel Diseñador, añade una actividad que sea compatible con los selectores, como Clic o Escribir en. Asegúrate de que la actividad añadida se encuentre en una actividad Utilizar Aplicación/Navegador.
En el cuerpo de la actividad, haz clic en el icono del repositorio de objetos para abrir la ventana Opciones de selección. Captura el elemento, selecciona Confirmar y se abre la ventana Añadir elemento al repositorio de objetos. Añade un nombre al elemento y haz clic en Guardar. Ten en cuenta que el elemento se añade al panel Repositorio de objetos.
This manual update is required for design-time changes to reflect in the versioning system, but it does not impact runtime behavior or functionality, as the workflows still use the updated object content. The limitation affects only versioning, as some activity properties are embedded in the workflow file, and are not automatically refreshed.
MyAppScreen
objeto situado junto a la actividad Utilizar Aplicación/Navegador. La ruta de la aplicación se añade automáticamente a la actividad.
También puedes arrastrar y soltar un objeto sobre el signo más dentro del flujo de trabajo. Si arrastras y sueltas una pantalla se añade automáticamente una actividad Usar aplicación/navegador. Si arrastras y suelta un elemento, se muestra una lista de actividades compatibles. Selecciona la actividad deseada y el objeto se añade automáticamente. Dentro del proceso, la actividad recibe la siguiente etiqueta: nombre de actividad + nombre de objeto. Una vez añadido el objeto, la actividad recibe las propiedades del descriptor del repositorio de objetos, visibles en el panel Propiedades de la actividad.
- Para indicar o editar el descriptor desde la actividad, selecciona Opciones y luego Indicar destino en pantalla o Editar destino. Se muestra un cuadro de diálogo que te informa de que la acción se realiza en el descriptor del Repositorio de objetos. Confirma tu elección seleccionando Indicar descriptor y Editar descriptor respectivamente.
-
Para indicar o editar el descriptor solo para la actividad actual, debes eliminar primero el enlace entre la actividad y el repositorio de objetos seleccionando Opciones y luego Desvincular del repositorio de objetos. Ten en cuenta que cuando se aplica el Repositorio de objetos, la desvinculación elimina el destino desde la actividad.
Una vez añadidos al flujo de trabajo, la pestaña Actividades de IU del panel Repositorio de objetos, muestra las actividades y los objetos que contienen por orden jerárquico. Si no son visibles, guarda el proyecto y compruébalo de nuevo.
Los flujos de trabajo se marcan:
- con un punto gris, si al menos 1 actividad del flujo de trabajo hace referencia a un descriptor de IU del panel Objetos.
- con un punto azul, si todas las actividades del flujo de trabajo hacen referencia a descriptores de IU desde el panel Objetos.
Las actividades de IU se marcan:
- con un punto vacío, si la actividad no hace referencia a un descriptor de IU del panel Objetos.
- con un punto azul, si hace referencia a un descriptor de IU del panel Objetos.
- Llamar a los elementos de la IU como strings.
- utilizando
IElementDescriptors
del Repositorio de objetos.
1. Llamar a elementos de la IU como Strings
- Crea una aplicación en el Repositorio de objetos de tu proyecto llamada
MyApplication
.- Crea una pantalla para la aplicación llamada
MainScreen
. - Crea un elemento llamado
HomePageIcon
.
- Crea una pantalla para la aplicación llamada
- Crea una variable para la pantalla.
- Utiliza la API Open para abrir la pantalla utilizando el siguiente código:
var screen = uiAutomation.Open("MainScreen");
var screen = uiAutomation.Open("MainScreen");Para encontrar el espacio de nombresObjectRepository
yDescriptors
, presionaCTRL + space
en tu teclado. - Utiliza la API Click en el elemento de IU, utilizando el siguiente código:
screen.Click("HomePageIcon");
screen.Click("HomePageIcon");
2. Llamar a elementos de la IU como IElementDescriptors
IElementDescriptors
: ObjectRepository.Descriptors.<ApplicationName>.<ScreenName>.<UiElementName>
, donde ObjectRepository
es un espacio de nombres que integra la clase Descriptors
. La clase Descriptors
incluye además todos los elementos de la IU que capturaste en el repositorio de objetos.
Object
como nombre de tu aplicación en el Repositorio de objetos.
- Crea una aplicación en el Repositorio de objetos de tu proyecto llamada
MyApplication
.- Crea una pantalla para la aplicación llamada
MainScreen
. - Crea un elemento llamado
HomePageIcon
.
- Crea una pantalla para la aplicación llamada
- Para mejorar la legibilidad, puedes definir tu aplicación como una variable que aplica una declaración
using
al principio de tu flujo de trabajo. Este es un ejemplo:using app = <ProjectName>.ObjectRepository.Descriptors.<AppName>
.Con este método, puedes llamar fácilmente a los descriptores en el siguiente formato:app.<ScreenName>.<UiElementName>
- Crea una variable para la pantalla.
- Utiliza la API Open para abrir la pantalla utilizando el siguiente código:
var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);
var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);Para encontrar el espacio de nombresObjectRepository
yDescriptors
, presionaCTRL + space
en tu teclado. - Utiliza la API Click en el elemento de IU, utilizando el siguiente código:
screen.Click(ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
screen.Click(ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
- Si quieres utilizar elementos del repositorio de objetos de un proyecto de biblioteca importado, realiza los siguientes pasos:
- En el proyecto desde el que exportaste la biblioteca, crea un nuevo caso de prueba codificado o archivo de flujo de trabajo codificado.
- Actualiza el paquete
UiPath.CodedWorkflows
a la última versión. - En el archivo donde quieres utilizar los elementos del repositorio de objetos importados, haz referencia al proyecto desde el que exportaste los elementos en la sección de espacios de nombres, utilizando el siguiente formato:
<ProjectName> = <LibraryName>.ObjectRepository.Descriptors
. - Al utilizar API, como Clic o Abrir, llama a los elementos de la IU utilizando el siguiente formato:
screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
Al utilizar las API de Mobile Automation, existen dos métodos principales para acceder a los elementos de la IU a través del Repositorio de objetos:
- Utilizando
IScreenDescriptors
yIElementDescriptors
del espacio de nombresObjectRepository
y la claseDescriptors
. - Utilizar rutas relativas a la pantalla en el Repositorio de objetos. Si tienes varias aplicaciones o pantallas, debes especificarlas en la llamada al método.
1. Utilizar IElementDescriptors de la clase Descriptores
IElementDescriptors
: ObjectRepository.Descriptors.<ApplicationName>.<ScreenName>.<UiElementName>
, donde ObjectRepository
es un espacio de nombres que integra la clase Descriptors
. La clase Descriptors
incluye además todos los elementos de la IU que capturaste en el repositorio de objetos.
Object
como nombre de tu aplicación en el Repositorio de objetos.
- Crea una aplicación en el Repositorio de objetos de tu proyecto llamada
MyApplication
.- Crea una pantalla para la aplicación llamada
HomeScreen
. - Crea un elemento llamado
ParentElement
. - Anidado en
ParentElement
, crea el elemento llamadoChildElement
.
- Crea una pantalla para la aplicación llamada
- Para mejorar la legibilidad, puedes definir tu aplicación como una variable que aplica una declaración
using
al principio de tu flujo de trabajo. Este es un ejemplo:using app = <ProjectName>.ObjectRepository.Descriptors.<AppName>
.Con este método, puedes llamar fácilmente a los descriptores en el siguiente formato:app.<ScreenName>.<UiElementName>
- Crea una conexión entre el dispositivo móvil y la aplicación registrada en el Repositorio de objetos.
- Llama a la API Pulsar en la conexión, para hacer clic en el elemento
ChildElement
, utilizando el siguiente código:connection.Tap(Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
connection.Tap(Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);Para encontrar el espacio de nombresObjectRepository
y la claseDescriptors
, pulsaCTRL + space
en tu teclado. - Utiliza la API Obtener atributo en
ParentElement
, utilizando el siguiente código:var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED);
var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED); - Si quieres utilizar elementos del repositorio de objetos de un proyecto de biblioteca importado, realiza los siguientes pasos:
- En el proyecto desde el que exportaste la biblioteca, crea un nuevo caso de prueba codificado o archivo de flujo de trabajo codificado.
- Actualiza el paquete
UiPath.CodedWorkflows
a la última versión. - En el archivo donde quieres utilizar los elementos del repositorio de objetos importados, haz referencia al proyecto desde el que exportaste los elementos en la sección de espacios de nombres, utilizando el siguiente formato:
<ProjectName> = <LibraryName>.ObjectRepository.Descriptors
. - Al utilizar API, llama a los elementos de la IU utilizando el siguiente formato:
connection.Tap(<LibraryName>.ObjectRepository.Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
connection.Tap(<LibraryName>.ObjectRepository.Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
2. Utilizar rutas relativas a la pantalla en el Repositorio de objetos
Strings
. Las rutas son representaciones de string de la jerarquía de elementos en la pantalla del móvil. También puedes acceder a cualquier descriptor, incluso si sus nombres están duplicados en el repositorio, porque puedes especificar la aplicación y la pantalla de destino para cada elemento.
MobileTarget.FromObjectRepository
, que toma la ruta del elemento de IU, en relación con la pantalla y la aplicación utilizadas. El valor devuelto de este constructor es ObjectRepositoryTarget
.
Hay dos formas de especificar la ruta del elemento de IU en el Repositorio de objetos:
- Utilizado
Strings
organizados como relaciones padre-hijo en un formato como "parentOfparent///parent///child".Por ejemplo, consulta el siguiente código, que pulsa un elemento de destino móvil llamadoChildElement
, que es un hijo deParentElement
, ubicado en la pantalla actual de la aplicación actual.connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChilElement"));
connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChilElement"));Toma el mismo ejemplo, pero esta vez el código pulsa el mismo elementoCheckedOnlyCheckBox
, pero ahora en una pantalla diferente (anotherScreen
) de una aplicación diferente (anotherApp
).connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen");
connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen"); - Utilizando una matriz de
Strings
organizados como relaciones padre-hijo en un formato como ["parentOfParent", "padre", "hijo"].Por ejemplo, consulta el siguiente código, que toca el mismo elemento de la IU, pero introduce la ruta en cadenas separadas dispuestas dentro de una matriz.connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}));
connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}));El mismo ejemplo se puede utilizar cuando quieres especificar una pantalla o aplicación diferente para la llamada al método.connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}, "anotherApp", "anotherScreen"));
connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}, "anotherApp", "anotherScreen"));
Los descriptores pueden editarse desde el Repositorio de objetos en dos escenarios que denominaremos "en línea" y "sin conexión":
- Editar en línea: se puede acceder a la aplicación o al navegador en la máquina actual. La aplicación o el navegador se muestra en la pantalla y permite seleccionar los elementos de nuevo o modificarlos.
-
Editar sin conexión: no se puede acceder a la aplicación o al navegador en la máquina actual, ya que la aplicación no está instalada o la máquina está sin conexión. Los selectores del elemento se hacen visibles permitiendo los cambios.
Nota: Tanto los selectores como los selectores difusos de los descriptores pueden editarse directamente en el Explorador de IU con el botón .
En la pestaña Descriptores, haz clic con el botón derecho en un elemento y selecciona Editar descriptor. La pantalla de selección se abre y permite capturar un elemento diferente, editar selectores y anclajes.
Lo mismo puede lograrse haciendo clic en el botón Editar descriptor desde la ventana Editar elemento.
Los mismos pasos de la edición en línea se aplican aquí también. En la pestaña Descriptores, haz clic con el botón derecho en un elemento y selecciona Editar descriptor.
La edición sin conexión ofrece la opción para realizar cambios directamente a la configuración del descriptor del elemento. No obstante, no puedes indicar elementos nuevos. Para ello, asegúrate de que se abre la aplicación o navegador en el estado correcto.
Para editar un descriptor, en la pestaña Descriptores, haz clic derecho en la pantalla y selecciona Editar descriptor. Se mostrará la ventana Editar pantalla.
Puedes editar la ruta de la aplicación o la URL del navegador, los argumentos de la aplicación y el selector de ventanas, y seleccionar si solo las aplicaciones cuyo título coincida exactamente pueden ser utilizadas en la automatización. La ruta de la aplicación, la URL del navegador y los campos de los argumentos de la aplicación admiten expresiones, variables y argumentos.
Cada vez que indicas una pantalla o un elemento de IU al que ya se ha hecho referencia en el Repositorio de objetos, ya sea con Descriptores de IU o bibliotecas de IU, la coincidencia se detectará automáticamente y se solicita la ventana siguiente:
Las siguientes opciones están disponibles:
- Reutilizar: añade el descriptor correspondiente del Repositorio de objetos a la actividad actual.
- Crear nuevo: abre la ventana de opciones para crear una pantalla o un elemento nuevo o actualiza uno existente en el Repositorio de objetos.
- Cancelar: mantiene el selector indicado actualmente en la actividad sin realizar cambios en los objetos del repositorio.
Al indicar una pantalla, se busca un descriptor de la interfaz de usuario correspondiente, mientras que al indicar un elemento de destino se busca un descriptor de la interfaz de usuario coincidente. Cuando se usa la Grabadora, se buscan las coincidencias correspondientes para la pantalla y los elementos de la biblioteca de la interfaz de usuario local desde Descriptores de la interfaz de usuario del proyecto o las dependencias importadas desde las bibliotecas de la interfaz de usuario.
Para aumentar su grado de reutilización, puedes usar variables en los descriptores.
Puedes editar un destino, añadirle variables y luego añadirlo al repositorio de objetos, o puedes añadir variables a los selectores de las pantallas o los elementos existentes desde el repositorio de objetos. Siempre que agregues un descriptor que contenga una variable a un proceso, asegúrate de crear la variable en el proceso, de lo contrario no se podrá leer la expresión.
Para añadir una variable a un selector de descriptores, haz clic con el botón derecho en el elemento del Repositorio de objetos y, a continuación, selecciona Editar descriptor y añade la variable desde la ventana Opción de selección.
<name='{{VarNumber}}'/>
añade el valor de la variable VarNumber
al atributo name
en el selector.
En el ejemplo siguiente, utilizamos una variable del campo URL del navegador de la actividad Usar Aplicación/Navegador y, a continuación, agregamos el destino al repositorio de objetos como un objeto de pantalla. De esta manera, nos aseguramos de que el descriptor tiene en cuenta los casos en los que la URL cambia.
- Crear un repositorio al capturar elementos
- Capturar todos los elementos
- Propiedades del descriptor
- Tipos de elementos
- Uso de Capturar elementos para aplicaciones y pantallas existentes
- Crear un repositorio desde el panel Repositorio de objetos
- Crea una aplicación de IU
- Crea una pantalla
- Crea un elemento de la IU
- Utilizar el Repositorio de objetos con grabadoras
- Añade elementos de las actividades al repositorio
- Utiliza objetos del proyecto actual
- Utilizar objetos en automatizaciones codificadas con UIAutomation
- Utilizar objeto en automatizaciones codificadas con Mobile Automation
- Editar descriptores
- Descriptores de elementos
- Editar en línea
- Editar sin conexión
- Descriptores de pantalla
- Resolver descriptores de IU
- Variables de los descriptores
- Elementos destacados