- 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
- Índice de actividades
- 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 atributo (genérico)
- 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
- About the mobile device automation architecture
- 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
- 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
Escenarios de solución de problemas
Si tienes problemas, considera los siguientes escenarios de solución de problemas:
Los temas siguientes describen los problemas y sus correspondientes soluciones para la automatización de dispositivos móviles.
Descripción: el flujo de trabajo en Studio genera errores inesperados y los paquetes de actividades no muestran las versiones instaladas.
Causa: dentro del proyecto, la versión principal del paquete de actividades UI.Automation no coincide con la versión principal del paquete de actividades Mobile.Automation . Por ejemplo, la versión principal del paquete UI.Automation instalado es 22.10.x, y la versión principal del paquete Mobile.Automation instalado es 22.4.x.
Solución: asegúrate de que las versiones principales de los paquetes de actividades UI.Automation y Mobile.Automation instaladas en tu proyecto coinciden. Por ejemplo, empareje UI.Automation.Activities versión 22.10.x solo con Mobile.Automation.Activities versión 22.10.x.
Condición: cuando se utiliza Appium 2.0.
/wd/hub/session
.
--base-path /wd/hub
.
Condición: cuando se utiliza Appium 2.0.
Descripción: todas las capacidades no estándar deben tener un prefijo de proveedor.
appium:
para todas las capacidades, como se indica a continuación:
- En el símbolo del sistema o terminal, en lugar de
--default-capabilities "{\"systemPort\": 8201}"
, introduce--default-capabilities "{\"appium:systemPort\": 8201}"
. - En la pestaña Agregar un dispositivo del Administrador de dispositivos móviles, agrega manualmente el prefijo
appium:
antes del nombre de cualquier capacidad adicional deseada.
Condición: cuando se utiliza Appium 2.0.
automationName
no puede estar vacía.
appium:
como prefijo. Por ejemplo, appium:automationName
.
Condición: cuando se utiliza Appium 2.0.
Descripción: no se pudo encontrar el controlador instalado para admitir los límites determinados.
Appium 2.0 no instala automáticamente los controladores necesarios. Tiene que descargarlos por separado.
Solución: instale el controlador requerido para su plataforma.
- Para dispositivos Android, instala el controlador
uiautomator2
, utilizando el comandoappium driver install uiautomator2
. - Para dispositivos iOS, instala el controlador
xcuitest
utilizando el comandoappium driver install xcuitest
.
Los siguientes temas describen los problemas para los dispositivos Android y sus remedios correspondientes.
InvalidArgumentException
procedente de una discrepancia en el formato esperado de una capacidad. El problema surge cuando se introduce una capacidad como cadena, mientras que Appium espera un valor booleano. Un mensaje de error indicativo incluye:Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '<capability name>' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Remedio: desinstala las siguientes aplicaciones del dispositivo local:
io.appium.uiautomator2.server
io.appium.uiautomator2.server.test
WebDriverException
. Este error normalmente se muestra como Parameters were incorrect. We wanted {\"required\":[\"text\"]} and you sent [\"value\"]", "FaultCode":"WebDriverException"}
.
Remedio: desinstala tu versión actual de UiAutomator 2. A continuación, instala una versión más reciente, utilizando los siguientes comandos en el orden dado:
appium driver uninstall uiautomator2
appium driver install uiautomator2@2.29.0
, donde2.29.0
es la versión que deseas instalar. Puedes reemplazar esto por cualquier versión disponible.
npm install -g appium
(para Appium 1.x) o npm install -g appium@next
(para Appium 2.0) falla, porque se está ejecutando detrás de un proxy. El error genera el siguiente mensaje:
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
Remedio: configura npm (Node Package Manager) para utilizar tu proxy. Sigue estos pasos:
-
Busque la dirección de su servidor proxy y su número de puerto:
- Ve a Opciones de Internet.
- Selecciona la pestaña Conexiones .
-
Selecciona la configuración de LANy copia el contenido de los campos Direccióny Puerto .
-
Vuelva al símbolo del sistema de Node.js y ejecute un comando que siga el siguiente formato:
- Para proxies HTTP:
npm config set http://your_proxy_address:your_port_number
. - Para proxies HTTPS:
npm config set https://your_proxy_address:your_port_number
.
- Para proxies HTTP:
- Vuelve a ejecutar el comando
npm install -g appium
(para Appium 1.x) onpm install -g appium@next
(para Appium 2.0).
Descripción: no se ha podido acceder al contexto web proporcionado. Asegúrese de que Android WebView sea depurable. Consulta Depurar remotamente WebViews para obtener más información sobre el acceso a contextos web.
Remedios:
- Utiliza WebView como selectores nativos en los contextos web que no se reconocen.
- Si los selectores funcionan en aplicaciones web, pero no en una aplicación nativa, la aplicación no habilita la depuración de vistas web. En este caso, consulta Primeros pasos con la depuración remota de Android WebViews y Depuración remota de WebViews.
Descripción: dispositivo no autorizado.
Solución: siga los siguientes pasos:
- Utiliza el comando
adb devices
para comprobar los dispositivos existentes. - Revocar la depuración en el teléfono.
- Reinicia el servidor ADButilizando los siguientes comandos en este orden:
adb kill-server
, y luegoadb start-server
. - Vuelve a conectar el dispositivo y confirma que aceptas la conexión en ese dispositivo.
Descripción: el dispositivo Android lanza una automatización del navegador en lugar de la aplicación determinada, causando errores.
Solución: comience con un navegador web.
Descripción: la aplicación de Android que creó no se inicia en el Mobile Device Manager.
Remedio:
- Mantén el puntero sobre la aplicación y haz clic en Editar.
- Añade información sobre la aplicación dentro de los campos Paquete de aplicaciones y Actividad de la aplicación.
Los temas a continuación describen los problemas, y sus correspondientes remedios, para dispositivos iOS.
Descripción: al hacer clic en un elemento WebView, el selector no funciona y no puedes automatizar el elemento.
Remedio: utiliza simuladores con la última versión de iOS y Appium 2.
Descripción: el dispositivo físico iOS no se inicia.
Solución: siga los siguientes pasos:
- Asegúrate de que tu dispositivo confía en el certificado. En tu dispositivo, ve a Configuración > General > Perfiles y administración de dispositivos, toca en la entrada de correo electrónico (por ejemplo, Desarrollo de Apple: nombredeusuario@email.com), y luego confía en el certificado. Si el dispositivo está utilizando tu cuenta corporativa, esto no sería necesario.
- Si recibes un error que indica que el puerto 8100 no es accesible, cierra Appium (
ctrl + c
) y, a continuación, reinícialo. - Si obtienes un error diferente, considera consultar Dispositivo real del controlador de Appium XCUITest.
Descripción: el dispositivo iOS 16.0 no se puede iniciar o conectar.
Remedio: instala y utiliza Appium 2.0, en lugar de Appium 1. Consulta la sección Requisitos previos del dispositivo iOS local para obtener más información sobre la instalación y la gestión de Appium 2.0.
Descripción: iOS 12.4.5 no funciona como se esperaba mientras está emparejado con Appium 1.22.3.
Causa: esto se debe a un problema con Appium.
Solución: Elija una de las siguientes opciones:
- Utiliza una versión inferior de Appium, como 1.17.0.
- Actualice el dispositivo a versiones iguales o superiores a iOS 14.
- Automatización de dispositivos móviles
- Flujo de trabajo y actividades que generan errores
- No se encontró ninguna ruta para wd / hub / session
- Prefijo del proveedor necesario para todas las capacidades no estándar
- AutomationName no puede estar vacío
- No se puede encontrar el controlador instalado
- Android
- Fallo de conexión debido a
InvalidArgumentException
para capacidades - Fallo de actividad debido a un
WebDriverException
- La instalación de Appium falla debido al proxy
- No se ha podido acceder al contexto de la web proporcionado
- Dispositivo no autorizado
- Automatización del navegador desde la pantalla de inicio
- La aplicación de Android no se inicia
- iOS
- No se puede hacer clic en elementos WebView en iOS 13
- El dispositivo físico de iOS no se inicia
- El dispositivo iOS 16.0 no se inicia
- Fallos de funcionamiento de iOS 12.4.5