- Información general
- Automatización de IU
- Aplicaciones y tecnologías automatizadas con UI Automation
- Compatibilidad de proyectos
- UI-ANA-016: Introducir URL para abrir el navegador
- UI-ANA-017: ContinueOnError verdadero
- UI-ANA-018: enumerar actividades de OCR / imagen
- UI-DBP-006: uso del contenedor
- UI-DBP-013: uso incorrecto de la automatización de Excel
- UI-DBP-030: uso de variables prohibidas en selectores
- UI-PRR-001: Simular clic
- UI-PRR-002: Simular tipo
- UI-PRR-003: uso incorrecto de aplicación abierta
- UI-PRR-004: retrasos codificados
- UI-REL-001: Idx grande en selectores
- UI-SEC-004: datos de correo electrónico del selector
- UI-SEC-010: Restricciones de aplicaciones / URL
- UI-USG-011: atributos no permitidos
- UX-SEC-010: restricciones de aplicaciones / URL
- UX-DBP-029: uso no seguro de contraseña
- UI-PST-001: nivel de registro de auditoría en la configuración del proyecto
- Herramienta de migración del navegador de UiPath
- Recorte de región
- Grabadora de Computer Vision
- Activities index
- Activar
- Base de anclaje
- Asociar navegador
- Asociar ventana
- Bloquear entrada de usuario
- Aviso
- Comprobar
- Clic
- Clic en imagen
- Desencadenador de clic de imagen
- Clic en texto OCR
- Clic en el texto
- Desencadenador de clic
- Cerrar aplicación
- Cerrar pestaña
- Cerrar ventana
- Anclaje consciente de contexto
- Copiar texto seleccionado
- Desencadenador de cambio del atributo del elemento
- Elemento existente
- Ámbito del elemento
- Desencadenador de cambio de estado de elemento
- Exportar el árbol de la IU
- Extraer datos estructurados
- Buscar elementos secundarios
- Buscar elemento
- Buscar imagen
- Buscar coincidencias de imágenes
- Buscar texto OCR
- Buscar elemento relativo
- Buscar posición de texto
- Obtener ventana activa
- Obtener antecesor
- Obtener atributo
- Obtener información de atributo
- Obtener a partir del portapapeles
- Obtener texto completo
- Obtener texto OCR
- Obtener contraseña
- Obtener posición
- Obtener elemento de origen
- Obtener texto
- Obtener texto visible
- Volver
- Avanzar
- Ir a inicio
- Google Cloud Vision OCR
- Ocultar ventana
- Resaltar
- Desencadenador de tecla de acceso rápido
- Mantener el puntero
- Mantener el puntero en imagen
- Mantener el puntero sobre texto OCR
- Mantener el puntero en el texto
- Imagen existente
- Indicar en pantalla
- Insertar código .NET
- Inject Js Script
- Invocar método de ActiveX
- Desencadenador de pulsación de tecla
- Cargar imagen
- Maximizar ventana
- Microsoft Azure Computer Vision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Minimizar ventana
- Supervisar eventos
- Desencadenador del ratón
- Mover ventana
- Ir a
- Texto OCR existente
- Apariencia en elemento
- Fuga en elemento
- Apariencia en imagen
- Fuga en imagen
- Abrir aplicación
- Abrir navegador
- Actualizar navegador
- Reproducir evento de usuario
- Restaurar ventana
- Guardar imagen
- Seleccionar elemento
- Seleccionar varios elementos
- Enviar tecla de acceso rápido
- Establecer región de recorte
- Establecer foco
- Establecer texto
- Establecer en portapapeles
- Establecer atributo web
- Mostrar ventana
- Iniciar proceso
- Desencadenador del sistema
- Realizar captura
- Tesseract OCR
- Texto existente
- Información sobre herramientas
- Escribir en
- Escribir Texto Seguro
- Utilizar primer plano
- Esperar a atributo
- Esperar a fuga de elemento
- Esperar a fuga de imagen
- Desencadenador de eventos de aplicación
- Marcar/Desmarcar
- Comprobar estado de aplicación
- Comprobar elemento
- Clic
- Clic desencadenador de eventos
- Arrastrar y soltar
- Extraer datos de tabla
- Para cada elemento de interfaz de usuario
- Obtener atributo
- Obtener datos del navegador
- Obtener texto
- Obtener URL
- Ir a URL
- Resaltar
- Mantener el puntero
- Inject Js Script
- Atajos del teclado
- Desencadenador de eventos de pulsación de tecla
- Desplazamiento del ratón
- Navegar por el navegador
- Seleccionar elemento
- Establecer datos del navegador
- Establecer navegador de Runtime
- Establecer texto
- Realizar captura
- Escribir en
- Utilizar Aplicación/Navegador
- Transacción de llamada
- Clic en imagen en pantalla
- Hacer clic en botón de barra de herramientas
- Expandir tabla jerárquica ALV
- Expandir árbol ALV
- Expandir árbol
- Lectura de barra de estado
- Inicio de sesión en SAP
- Inicio de sesión en SAP
- Desencadenador de cambio de atributos de sesión de SAP
- Seleccionar fechas en el calendario
- Seleccionar elemento de menú
- Ámbito de la celda de la tabla
- Transacción de llamada
- Clic en imagen en pantalla
- Hacer clic en botón de barra de herramientas
- Expandir tabla jerárquica ALV
- Expandir árbol ALV
- Expandir árbol
- Lectura de barra de estado
- Inicio de sesión en SAP
- Inicio de sesión en SAP
- Seleccionar fechas en el calendario
- Seleccionar elemento de menú
- Ámbito de la celda de la tabla
- Realizar búsquedas en el navegador y recuperar resultados mediante las API de automatización de IU
- Exploración web
- Buscar imágenes
- Hacer clic en imágenes
- Eventos de desencadenador y supervisor
- Crear y anular archivos
- Páginas HTML: extraer y manipular información
- Manipulación de ventana
- Selección de lista automatizada
- Buscar y manipular elementos de ventana
- Gestionar automatización de texto
- Cargar y procesar imágenes
- Gestionar acciones activadas por el ratón
- Automatizar tiempo de ejecución de aplicación
- Ejecución automática de una aplicación local
- Navegación de explorador
- Automatización web
- Ejemplo de ámbito de desencadenador
- Habilitar soporte de automatización de IU en DevExpress
- Computer Vision Local Server
- Automatización móvil
- Notas relacionadas
- Compatibilidad de proyectos
- Obtener tipos de registro
- Obtener registros
- Obtener origen de la página
- Obtener la orientación del dispositivo
- Obtener identificador de sesión
- Instalar aplicación
- Administrar aplicación actual
- Administrar otras aplicaciones
- Abrir enlace profundo
- Abrir URL
- Conexión de dispositivo móvil
- Deslizamiento direccional
- Patrón de dibujo
- Pase de dedo posicional
- Pulse un botón del hardware
- Establecer orientación del dispositivo
- Realizar captura
- Tomar parte de la captura de pantalla
- Elemento existente
- Ejecutar comando
- Obtener atributo
- Obtener elemento seleccionado
- Obtener texto
- Establecer elemento seleccionado
- Establecer texto
- Deslizamiento
- Pulsar
- Escribir Texto
- Creating variables from selector attributes
- Primeros pasos con las API de automatización móvil
- Utilizar automatización móvil para una aplicación de banca móvil
- Terminal
- Notas relacionadas
- Acerca del paquete de actividades de Terminal
- Compatibilidad de proyectos
- Mejores prácticas
- Buscar texto
- Obtener color de la posición
- Obtener la posición del cursor
- Obtener campo
- Obtener campo en posición
- Obtener área de pantalla
- Obtener texto
- Obtener texto en posición
- Mover cursor
- Mover cursor al texto
- Enviar tecla de control
- Teclas de envío
- Teclas de envío seguras
- Establecer campo
- Configurar campo en posición
- Sesión del terminal
- Esperar texto de campo
- Esperar texto en pantalla
- Esperar texto en posición
Actividades UIAutomation
Utilizar automatización móvil para una aplicación de banca móvil
En este tutorial, exploramos cómo utilizar el paquete de automatización móvil para automatizar tareas dentro de una aplicación de banca móvil. El tutorial utiliza el simulador de banca móvil proporcionado por Bank of America y un emulador de Google Pixel de Sauce Labs. Nos centraremos específicamente en automatizar y probar las siguientes acciones:
- Iniciar sesión en la aplicación.
- Implementar un bloqueo de tarjeta de débito.
- Ver una reclamación y hacer una captura de pantalla.
El tutorial ofrece instrucciones sobre cómo utilizar tanto actividades como API para automatizar estos escenarios.
- Añade un dispositivo de Sauce Labs en el MDM.
Para obtener más información sobre la adición de dispositivos, consulta Añadir un dispositivo de Sauce Labs.
- Añade el simulador de banca móvil de Bank of America en MDM.
Para obtener más información sobre la adición de aplicaciones, consulta Añadir aplicaciones.
Para seguir los pasos y probar el tutorial tú mismo, consulta el siguiente proyecto de ejemplo: Simulador de banca móvil.
En este ejemplo, utilizamos elementos del repositorio de objetos como elementos de IU de entrada a las actividades. Para crear elementos de interfaz de usuario para móviles, establece una conexión en el Administrador de dispositivos móviles (MDM) entre el dispositivo de destino y la aplicación. A continuación, directamente en el panel Repositorio de objetos, crea cada elemento y utiliza Indicar elemento para indicar el elemento de IU concreto en el dispositivo MDM.
Para seguir fácilmente el tutorial, consulta la siguiente lista para la estructura del repositorio de objetos:
- Aplicación BankOfAmerica, menú MobileScreen
- backFromClaimDetails
- backFromClaimStatus
- BackToMenu
- firstClaimSeeDetails
- Lock
- LockCard
- Login
- ManageDebitCredit
- Menú
- Contraseña
- swipeMenu
- ID de usuario
- viewmyclaims
- Establece una conexión entre el dispositivo y la aplicación:
- Añade una actividad de conexión de dispositivo móvil.
- Utiliza Seleccionar detalles de conexión para conectar el dispositivo móvil y la aplicación creados anteriormente.
- Iniciar sesión en la aplicación móvil:
- Añade una actividad de toque para seleccionar el campo ID de usuario, para que puedas introducir un nombre de usuario.
- Añade una actividad establecer texto para introducir el nombre de usuario dentro del campo ID de usuario.
- Añade una actividad de toque para seleccionar el campo Contraseña, para que puedas introducir la contraseña.
- Añade una actividad establecer texto para introducir la contraseña correspondiente.
- Utiliza una actividad de toque para seleccionar el botón Iniciar sesión.
Figura 1. Las primeras actividades como parte del inicio de sesión en la aplicación
- Bloquear una tarjeta de débito o crédito:
- Añade una actividad de toque para navegar al menú de la aplicación de banca móvil.
- Añade una actividad de Deslizar para deslizarse hacia abajo en el menú.
El objetivo es deslizarse hasta encontrar la sección Gestionar débito/crédito.
- Añade una actividad de toque para seleccionar la sección Gestionar débito/crédito.
- Añade una actividad de toque para seleccionar el icono de bloqueo para la primera tarjeta que se muestra.
- Añade una actividad de deslizar para deslizarse hacia abajo en la notificación de la tarjeta de bloqueo.
Esta acción te permite confirmar la acción seleccionando Bloquear tarjeta.
- Añade una actividad de toque para seleccionar Bloquear tarjeta.
Figura 2. Actividades utilizadas para bloquear la tarjeta de débito
- Hacer una captura de pantalla de una reclamación:
- Añade una actividad de toque para seleccionar el botón atrás y volver al menú principal.
- Añade una actividad de deslizar para deslizarse hacia abajo en el menú principal, hasta que aparezca la sección Ver mis reclamaciones.
- Utiliza una actividad de toque para seleccionar la sección Ver mis reclamaciones.
- Añade una actividad de toque para seleccionar Ver detalles para la primera reclamación.
- Utiliza la API TakeScreenshot para hacer una captura de pantalla de los detalles de la primera reclamación.
Figura 3. Actividades que se utilizan para hacer una captura de pantalla de una reclamación
- Finalmente, después de tomar la captura de pantalla, volvemos al menú principal de la aplicación, utilizando la actividad Tocar para seleccionar dos veces el elemento de IU Volver.
Para automatizar una aplicación móvil utilizando API, graba los elementos móviles de la aplicación dentro del repositorio de objetos del proyecto. Para este ejemplo, creamos una aplicación de Bank of America con una PantallaMóvil general, que contiene todos los elementos de interfaz de usuario que utilizamos para automatizar. Para crear elementos de interfaz de usuario para móviles, establece una conexión en el Administrador de dispositivos móviles (MDM) entre el dispositivo de destino y la aplicación. A continuación, directamente en el panel Repositorio de objetos, crea cada elemento y utiliza Indicar elemento para indicar el elemento de IU concreto en el dispositivo MDM.
Consulta la siguiente lista para la estructura del repositorio de objetos:
- Aplicación BankOfAmerica, menú MobileScreen
- backFromClaimDetails
- backFromClaimStatus
- BackToMenu
- firstClaimSeeDetails
- Lock
- LockCard
- Login
- ManageDebitCredit
- Menú
- Contraseña
- swipeMenu
- ID de usuario
- viewmyclaims
- Establece una conexión entre el dispositivo y la aplicación:
- Crea una variable de tipo
Connection
, utilizando la API Connect, con la segunda versión de sobrecarga.Para esta sobrecarga, introduce el nombre del dispositivo y el nombre de la aplicación como cadenas, para establecer la conexión.
[TestCase] public void Execute() { Connection connection = mobile.Connect( "Android mobile device", "BankOfAmericaSimulator"); Log("Connection established");
[TestCase] public void Execute() { Connection connection = mobile.Connect( "Android mobile device", "BankOfAmericaSimulator"); Log("Connection established");
- Crea una variable de tipo
- Opcionalmente, para fines de depuración, puedes añadir un mensaje
Log
después de la conexión. - Iniciar sesión en la aplicación móvil:
- Llama a la API Tap para hacer clic en el campo ID de usuario.
Esta acción te permite introducir el nombre de usuario.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId); - Utiliza la API SetText para introducir un nombre de usuario en el campo ID de usuario.
connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId, "john.doe@uipath.com", MobileOptions.SetText().WithSendNewline(false));
connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId, "john.doe@uipath.com", MobileOptions.SetText().WithSendNewline(false)); - Llama a la API Tap para seleccionar el campo Contraseña para poder introducir la contraseña.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password); - Utiliza la API Set Text para introducir una contraseña en el campo Contraseña.
El método
WithSendNewLine(false)
garantiza que el elemento OK del teclado no se presione en el dispositivo móvil después de enviar el texto.Para obtener más información sobre las opciones disponibles de la API Set Text, consulta Clase MobileOptions.SetTextOptions.connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password, "abcde", MobileOptions.SetText().WithSendNewline(false));
connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password, "abcde", MobileOptions.SetText().WithSendNewline(false)); - Emplea la API Tap para seleccionar Inicio de sesión.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Login);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Login);
- Llama a la API Tap para hacer clic en el campo ID de usuario.
- Bloquear una tarjeta de débito o crédito:
- Navega al menú de la aplicación de banca móvil, utilizando la API Tap:
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Menu);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Menu); - Desliza hacia abajo en el menú, utilizando la API Swipe.
El objetivo es deslizarse hasta encontrar la sección Gestionar débito/crédito.
connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, SwipeDirection.Down, 4);
connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, SwipeDirection.Down, 4); - Selecciona la sección Gestionar débito/crédito utilizando la API Tap.
El método
WithTimeout()
permite a la API hacer una pausa durante un número predeterminado de segundos.Esta pausa dura hasta que aparece el elemento de IU de destino o se produce un error.connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, TapTypeEnum.Single, MobileOptions.Tap().WithTimeout(120));
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, TapTypeEnum.Single, MobileOptions.Tap().WithTimeout(120)); - Para la primera tarjeta que se muestra, selecciona el icono de bloqueo utilizando la API Tap.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Lock);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Lock); - Desliza el dedo hacia abajo en el aviso de la tarjeta de bloqueo, utilizando la API Directional Swipe, para que podamos confirmar la acción seleccionando Bloquear tarjeta.
connection.DirectionalSwipe(SwipeDirection.Down);
connection.DirectionalSwipe(SwipeDirection.Down); - Selecciona Bloquear tarjeta utilizando la API Tap.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.LockCard);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.LockCard);
- Navega al menú de la aplicación de banca móvil, utilizando la API Tap:
- Hacer una captura de pantalla de una reclamación.
- Vuelve al menú principal, utilizando la API Tap y el icono de retroceso.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.BackToMenu);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.BackToMenu); - Desliza hacia abajo en el menú principal, hasta que aparezca la sección Ver mis reclamaciones.
Para este paso, utilizamos la API Swipe, esta vez empleando la sexta sobrecarga. Esta sobrecarga requiere un
IElementDescriptor
para el contenedor de deslizamiento y unSelectorTarget
para el elemento de IU de destino.Primero creamos una variableSelectorTarget
para la sección Ver mis reclamaciones y luego empleamos la API Swipe.- Abre el MDM y crea la conexión entre el dispositivo móvil y la aplicación.
- Ve al repositorio de objetos y crea un nuevo elemento para la pantalla móvil.
- Selecciona Indicar elemento.
- En el menú de opciones de selección, copia el control web identificado por los selectores.
Para esta aplicación de banca móvil, debes asegurarte de que selectores WebView como selectores nativos se seleccionen como opción de selección.
- Vuelve al editor de código y crea una variable de tipo
SelectorTarget
. Utiliza el métodoMobileTarget.FromSelector
que requiere como argumento el control web que copiaste anteriormente.SelectorTarget viewMyClaimsTarget = MobileTarget.FromSelector("<mbl android:className='android.widget.TextView' text='View My Claims' />");
SelectorTarget viewMyClaimsTarget = MobileTarget.FromSelector("<mbl android:className='android.widget.TextView' text='View My Claims' />"); - Utiliza la API Swipe, con la variable
SelectorTarget
, para finalizar la acción de deslizamiento hacia abajo.connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, viewMyClaimsTarget, SwipeDirection.Down, 20);
connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, viewMyClaimsTarget, SwipeDirection.Down, 20);
- Pulsa la sección Ver mis reclamaciones.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.viewmyclaims);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.viewmyclaims); - Pulsa Ver detalles para la primera reclamación.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.firstClaimSeeDetails);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.firstClaimSeeDetails); - Utiliza la API TakeScreenshot para hacer una captura de pantalla de los detalles de la primera reclamación.
connection.TakeScreenshot();
connection.TakeScreenshot();
- Vuelve al menú principal, utilizando la API Tap y el icono de retroceso.
- Finalmente, después de hacer la captura de pantalla, volvemos al menú principal de la aplicación, tocando dos veces el elemento de IU Volver.
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimDetails); connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimStatus);
connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimDetails); connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimStatus);