- 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
- 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
Primeros pasos con las API de automatización móvil
Esta guía de inicio rápido te ayuda a crear tu primera automatización codificada, utilizando las API de automatización móvil. El tutorial utiliza la aplicación básica de Android de UiPath® y un emulador de Google Pixel de Sauce Labs para las pruebas automatizadas.
Para utilizar el dispositivo móvil y la aplicación deseados dentro de nuestra automatización codificada, tenemos que crearlos primero en MDM (Mobile Device Manager):
- Para crear la aplicación:
- Abre MDM, y ve a Aplicaciones
- Selecciona Añadir una aplicación.
- En la ventana Editar aplicación, introduce la información necesaria:
- Nombre: para este ejemplo, utiliza
Basic App - Android
. - Tipo: selecciona Aplicación para una aplicación nativa.
- Plataforma: selecciona Android para automatizar la aplicación Android.
- Aplicación: para este ejemplo, introduce el siguiente enlace a la aplicación básica de Android:
https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
. - Paquete de aplicación: introduce el paquete de aplicación móvil, como
com.example.basicapp
. - Actividad de la aplicación: introducir la instancia de actividad, como:
.core.MainActivity
. - Para capacidades adicionales deseadas, añade la capacidad
appium:app
, para garantizar que la aplicación funcione como se espera.
Tabla 1. Capacidades adicionales deseadas Nombre Valor appium:app
appium:app https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
- Nombre: para este ejemplo, utiliza
- Para crear el dispositivo:
- Ve a Dispositivos y selecciona Añadir un dispositivo.
- Dale un nombre al dispositivo. Para este ejemplo, utiliza
Google Pixel 3a GoogleAPI Emulator
. - Establece los siguientes parámetros: URL de Appium, Plataforma, Nombre del dispositivo, Versión de la plataforma.
- Recupera los parámetros del proveedor de granja de dispositivos móviles elegido. En este ejemplo, utilizamos Sauce Labs.
- Para obtener la URL de Appium, ve a Cuenta y luego a Configuración del usuario. Copia la URL bajo demanda en Creación de controladores.
- Para obtener Plataforma, Nombre del dispositivo y Versión de la plataforma, ve a Automatizado y luego Configurador de plataforma. Selecciona las capacidades para
Google Pixel 3a GoogleAPI Emulator
yAndroid Emulator version 10.0
. En Script de configuración, elige tuAppium version
. Para este ejemplo, utiliza 2.0.0. - Copia y pega los valores de Sauce Labs en MDM.
-
- Selecciona Guardar y cerrar.
- Selecciona Iniciar una aplicación en este dispositivo y conecta el dispositivo con la aplicación creada anteriormente.
Para automatizar tu aplicación móvil preferida, graba sus elementos móviles dentro del repositorio de objetos del proyecto. Para este ejemplo, creamos una aplicación de aplicación básica con una Pantalla de inicio general, que contiene tres elementos de interfaz de usuario que utilizamos para automatizar. Consulta la siguiente lista para ver cómo aparece la estructura del repositorio de objetos:
- BasicApp
- HomeScreen
- EditText
- SingleClickButton
- VerifyText
- HomeScreen
Después de configurar tu dispositivo y aplicación en MDM, comienza a escribir el código para tu automatización. Antes de empezar a utilizar las API de automatización móvil, debes establecer una conexión entre tu dispositivo móvil y la aplicación elegida, utilizando las API correspondientes.
connection
es una clase que representa la conexión que creas entre un dispositivo y una aplicación, que expone las API que puedes utilizar para automatizar escenarios de prueba móviles. Consulta Conexión para obtener más información sobre la creación de una connection
.
Para crear una conexión, tienes un conjunto de API dedicadas que puedes utilizar. En este ejemplo, utilizamos la API de Connect, con la segunda sobrecarga, que requiere los nombres de dispositivo y aplicación como cadenas.
Crea la conexión utilizando los siguientes pasos:
- Comienza con una declaración
using
, para evitar crear una variable independiente. - Dentro de la declaración
using
, llama a la API de Connect, con la segunda versión de sobrecarga.Para esta sobrecarga, introduce el nombre del dispositivo y el nombre de la aplicación, para establecer la conexión.
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android"))
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android")) - Opcionalmente, para fines de depuración, puedes añadir un mensaje
Log
.Log("Connection established");
Log("Connection established");
El flujo de automatización en este ejemplo incluye tocar ciertos botones, obtener texto que se muestra en la pantalla del móvil y deslizar un control deslizante. Estas acciones simulan escenarios de automatización móvil de la vida real.
IElementDescriptors
. Estos representan elementos de interfaz de usuario a los que se accede directamente desde el repositorio de objetos. Además de IElementDescriptors
, puedes utilizar otros tipos de selectores con las API de automatización móvil, como ObjectRepositoryTarget
y SelectorTarget
. Consulta Selectores de API para aprender cómo y cuándo utilizar otros tipos de selectores.
- Llama a la API Tap para hacer clic en SingleClickButton desde la aplicación básica de Android.
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton ");
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton "); - Utiliza la API de SetText para introducir un texto específico en el campo EditText.
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text");
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text"); - Obtén el texto que estableciste anteriormente y verifica si coincide con el texto del elemento de IU VerifyText. Utiliza las API de GetText y VerifyExpression.
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null;
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null; - Utiliza la API de PositionalSwipe para mover el control deslizante.
La API de PositionalSwipe requiere dos variables
Point
, que representan los puntos de inicio y final para la acción de deslizamiento. Crea estos puntos antes de utilizar la API para mejorar la legibilidad.// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");
// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");Para obtener la posición de la pantalla, ve a la conexión activa en MDM. Pasa el cursor sobre la pantalla del móvil. Esto mostrará la ubicación del cursor en píxeles en la esquina inferior izquierda del MDM.
Para seguir los pasos en esta guía de inicio rápido o para probarlo tú mismo, descarga la muestra de inicio rápido de las API de automatización móvil.