- 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
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- 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-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-DBP-020: propiedades de salida no definidas
- 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-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
- Automatización atendida basada en desencadenadores
- Grabación
- Elementos de la IU
- Flujo de control
- 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 Salesforce
- Automatización SAP
- Automatización de VMware Horizon
- Registro
- La herramienta ScreenScrapeJavaSupport
- El protocolo WebDriver
- Conjunto de pruebas - Estudio
- Extensiones
- Solución de problemas
- Acerca de la resolución de problemas
- 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
- Automatizar aplicaciones que se ejecutan en un usuario de Windows diferente
- Validation of large Windows-legacy projects takes longer than expected
Automatización de IU
En ocasiones, la rutina manual habitual no es la manera óptima de automatizar.Explora cuidadosamente el comportamiento de la aplicación y la integración/características de UiPath antes de adoptar un enfoque determinado.
La automatización de IU se usa mejor cuando robots y aplicaciones se ejecutan en la misma máquina, ya que UiPath se puede integrar directamente con la tecnología tras la aplicación para identificar elementos, desencadenar eventos y obtener datos tras las cámaras.
Hay tres métodos que UiPath utiliza para desencadenar una actividad en una aplicación de Hacer clic o de Escribir en.Estas actividades se muestran como propiedades en todas las actividades que tratan de la automatización de IU.
Las propiedades SimularTipo y SimularClic
Si se seleccionan las propiedades SimularTipo o SimularClic, Studio se conecta a la aplicación y desencadena el controlador de eventos de un elemento de IU indicado (botón, cuadro de texto).El resultado siempre depende de la tecnología de destino, por ejemplo un navegador web o aplicación empresarial.
Se recomienda comprobar el estado del elemento de IU destino antes de la ejecución cuando se habilite SimularTipo o SimularClic para las siguientes actividades:
Se debe tener en cuenta la misma recomendación para las siguientes aplicaciones, ya que usan las propiedades SimularTipo o SimularClic de forma predeterminada y no se pueden cambiar:
La propiedad AlterarSiEstáDeshabilitado
Esta propiedad dice a la actividad de destino si debe interactuar o no con elementos deshabilitados.Tenga en cuenta que esta propiedad solo se tiene en cuenta si se ha habilitado SimularTipo o SimularClic.Puede encontrar la propiedad AlterarSiEstáDeshabilitado para las siguientes actividades:
La propiedad EnviarMensajesDeWindows
Si se selecciona la propiedad EnviarMensajesDeWindows, Studio envía los detalles del evento en el buzón de mensajes de la aplicación y el proceso de la ventana de la aplicación lo envía de forma interna al elemento de IU de destino.
Studio señala los controladores del sistema con eventos de hardware si no se ha seleccionado ninguna de las opciones anteriores y permite al sistema operativo enviar los detalles hacia el elemento de destino.
Estos métodos deben probarse en el orden en que se han presentado, ya que las propiedades SimularClic y EnviarMensajesDeWindows son más rápidas y también funcionan en segundo plano, pero dependen principalmente de la tecnología subyacente a la aplicación.
Los eventos de hardware funcionan al completo mientras Studio realiza acciones de forma similar a un operador humano, por ejemplo mover el puntero del ratón y hacer clic en una ubicación concreta. Sin embargo, en este caso la aplicación que se está automatizando debe verse en la pantalla. Esto puede considerarse una desventaja, ya que existe el riesgo de que el usuario pueda interferir con la automatización.
A veces, los selectores generados automáticamente proponen valores de atributo volátiles para identificar elementos y se requiere intervención manual para calibrar los selectores. Un selector fiable debe identificar siempre correctamente el mismo elemento bajo cualquier condición, en entornos de desarrollo, prueba y producción, sin importar los nombres de usuario que hayan iniciado sesión en las aplicaciones.
A continuación ofrecemos algunos consejos sobre cómo mejorar un selector en el Editor de selector o el Explorador de IU:
- Sustituya los atributos con valores volátiles por atributos que parezcan estables y significativos.
- Sustituya partes variables del valor de un atributo por comodines (*).
- Si el valor de un atributo se compone completamente de comodines (p. ej.
name=’*’
) entonces se debe eliminar ese atributo. - Si modificar los atributos no resulta útil, intente añadir más contenedores intermediarios.
-
Evite usar el atributo
idx
a menos que su valor sea un número muy pequeño, como 1 o 2.
En el selector anterior hemos observado que el título de página tiene una referencia a la hora en que se grabó el selector y también que algunos atributos tienen ID aparentemente aleatorias. Al retocar los atributos podemos proponer un selector mejor que el propuesto por el grabador de UiPath.
Al igual que las rutas de archivo, los selectores pueden ser completos o parciales (relativos). Los selectores completos comienzan con una ventana o un identificador HTML y contienen toda la información necesaria para encontrar un elemento en todo el escritorio, mientras que los selectores parciales solo funcionan dentro de un contenedor/adjunto que especifica la ventana de nivel superior a la cual pertenecen los elementos:
- AbrirNavegador
- AbrirAplicación
- AdjuntarNavegador
- AdjuntarVentana
Aquí hay un poco más de información sobre Selectores completos frente a selectores parciales.
Hay varias ventajas para usar contenedores con selectores parciales en lugar de selectores completos:
- Agrupan visualmente actividades que funcionan en la misma aplicación.
- Son ligeramente más rápidos, ya que no han de buscar constantemente la ventana superior.
- Hacen que sea más sencillo gestionar selectores de nivel superior en caso de que hagan falta actualizaciones manuales.
- Son esenciales al trabajar en dos instancias de la misma aplicación.
El reconocimiento de imagen es el último enfoque para automatizar aplicaciones si no hay nada más que funcione para identificar elementos de IU en pantalla (como selectores o atajos de teclado). Como la coincidencia de imagen requiere que los elementos sean totalmente visibles en la pantalla y que todos los detalles visibles sean durante la ejecución los mismos que durante el desarrollo, al recurrir a la automatización de imagen hay que tener cuidado adicional para garantizar la fiabilidad del proceso. Seleccionar más o menos de una imagen de lo que es necesario podría resultar en que no se encuentre una imagen o en una coincidencia positiva falsa.
La coincidencia de imagen depende de variaciones de entorno como el tema del escritorio o la resolución de pantalla. Cuando la aplicación se ejecuta en Citrix, la resolución debe mantenerse mayor o igual que cuando se grabaron los flujos de trabajo. De lo contrario, las pequeñas distorsiones de imagen se pueden compensar reduciendo ligeramente el factor de precisión de la imagen capturada. Compruebe cómo se ajusta a diferentes resoluciones el diseño de la aplicación para garantizar la proximidad de los elementos visuales, especialmente en caso de técnicas basadas en coordenadas como las de clic relativo y extracción relativa.
Si la automatización es compatible con diferentes resoluciones, las grabaciones paralelas se pueden colocar dentro de una actividad ElegirRama, y el robot usará cualquier coincidencia.
Si el OCR devuelve buenos resultados para la aplicación, la automatización de texto es una buena alternativa para minimizar la influencia del entorno.El motor Tesseract de Google funciona mejor para áreas más pequeñas, mientras que MODI de Microsoft lo hace para áreas más grandes.
El uso del motor MODI en automatizaciones de bucle puede a veces crear fugas de memoria.Por eso se recomienda que la extracción realizada con MODI se invoque mediante un flujo de trabajo separado usando la propiedad Aislado.
Es posible que se produzca un comportamiento inesperado si la aplicación está en un estado diferente al que el flujo de trabajo asume que está.Lo primero que se debe revisar es el tiempo que tarda la aplicación en responder a las interacciones del robot.
La propiedad MSDeRetardo le permite esperar un tiempo a que la aplicación responda.Sin embargo, hay situaciones en la que se debe validar el estado de una aplicación antes de continuar con ciertos pasos en un proceso.Las medidas pueden incluir el uso de actividades adicionales que esperan al estado de la aplicación deseado antes de otras interacciones.Las actividades útiles para ello incluyen:
Si se pretende que una automatización comparta el escritorio con un usuario humano, toda la interacción de IU debe implementarse en segundo plano.Esto significa que la automatización debe trabajar con objetos elemento de la IU directamente, por tanto permitiendo que la ventana de aplicación se oculte o minimice durante el proceso.
- Use las opciones SimularTipo, SimularClic y EnviarMensajesDeWindows para navegación e introducción de datos mediante las actividades Clic y Escribir en.
- Use las actividades Establecer texto, Verificar y Seleccionar elemento para introducir datos en segundo plano.
- Las actividades Obtener texto, Obtener texto completo y ExtracciónWeb son las salidas que se ejecutan en segundo plano.
- Use la actividad El elemento existe para verificar el estado de la aplicación.
Cómo ejecutar la automatización de Chrome/Edge/Firefox en PiP sin interrumpir tu trabajo en la sesión principal
Cuando se ejecuta la automatización web con navegadores Chrome/Edge/Firefox en la sesión secundaria del modo PictureInPicture (PiP) y se quiere continuar utilizando el explorador en la sesión principal, ten en cuenta que tanto Chrome como Edge no pueden ejecutarse de forma simultánea, en distintas sesiones, utilizando el mismo directorio de datos de usuario.
%LOCALAPPDATA%\Google\Chrome\User Data
. Los datos de los perfiles de tu explorador se guardan aquí y cada nuevo perfil de explorador que crees tendrá su propio espacio: historial de navegación, marcadores y cookies.
chrome.exe --user-data-dir=c:\foo
. Todos tus datos de perfiles se guardarán en esa carpeta personalizada.
Para omitir esta limitación, las actividades UtilizarAplicaciónNavegador moderna y AbrirNavegador clásica proporcionan una solución lista para usar: las propiedades ModoDeCarpetaDeDatosDelUsuario y RutaDeLaCarpetaDeDatosDelUsuario que instruyen la actividad al iniciar el navegador con su carpeta predeterminada, la generada automáticamente por la actividad o bien una personalizada, especificada por la última propiedad.
Echemos un vistazo más de cerca a cómo funcionan estas propiedades.
Caso 1
No necesitas conocer todos los detalles acerca de la carpeta de datos del usuario, solo quieres la automatización para iniciar el navegador en PiP y que haga su trabajo, lo que te permite a ti hacer el tuyo en la sesión principal. Luego, solo tienes que dejar vacío el ModoCarpetaDeDatosDelUsuario. Su valor predeterminado se heredará como Automático de la sección Configuración/AplicaciónNavegador del proyecto: el UiPath Robot creará automáticamente para ti una carpeta de datos temporales para ejecutar la automatización en PiP.
Caso 2
Querrás ejecutar la automatización en PiP con la carpeta de datos de usuario predeterminada, ya que contiene tu perfil predeterminado y todo el historial de inicio de sesión de tus apps empresariales y de las cookies. Establece el ModoDeCarpetaDeDatosDelUsuario a CarpetaPredeterminada. Ten en cuenta que simplemente iniciar el explorador en tu sesión de trabajo no será posible hasta que la automatización PiP termine y/o el explorador PiP se detenga.
Caso 3
Sabes lo que haces y comprendes tanto la limitación del explorador como las capacidades proporcionadas por UiPath. Configura ModoDeCarpetaDeDatosDelUsuario como CarpetaPersonalizada y la RutaDeLaCarpetaDeDatosDelUsuario como una ruta de tu elección.
Para todos los casos anteriores, recomendamos instalar la extensión según la política por grupo. De esta manera, la extensión está disponible y activada para cualquier perfil de explorador, independientemente de si se crean en carpetas de datos de usuario predeterminadas o personalizadas.
- Automatización de escritorio
- Métodos de entrada
- Selectores
- Contenedores
- Automatización de imagen
- Consideraciones de resolución
- Motores OCR
- Sincronización de IU
- Automatización en segundo plano
- Procedimientos
- Cómo ejecutar la automatización de Chrome/Edge/Firefox en PiP sin interrumpir tu trabajo en la sesión principal