- Primeros pasos
- Instalación y configuración
- Requisitos de hardware y software
- Acerca de las Licencias de Precios Unificados
- Acerca de las Licencias Flexibles
- Activar Studio
- Actualizar Studio
- Parámetros de la línea de comandos
- Aplicaciones y tecnologías compatibles
- Habilitación de Gmail para actividades de correo electrónico
- Deshabilitar la telemetría
- Studio Executables
- Proyectos de automatización
- Dependencias
- Tipos de flujos de trabajo
- Flujo de control
- Comparación de archivos
- Mejores prácticas de automatización
- Diseño de flujo de trabajo
- Automatización de IU
- Organización del proyecto
- Ciclo de vida de la automatización
- Metodología para reutilizar componentes de IU
- 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-027: mejor práctica de persistencia
- ST-DBP-028: requisito de serialización de argumentos
- ST-USG-005 - Propiedades de la actividad codificadas
- ST-USG-009: variables no utilizadas
- ST-USG-010: dependencias sin utilizar
- ST-USG-014: restricciones de los paquetes
- ST-USG-017: modificador de parámetro no válido
- 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
- Integración de OpenAI con los flujos de trabajo codificados
- Solicita un préstamo con UiBank
- Generación de colas con flujos de trabajo codificados y API de Orchestrator
- Utilizar proyectos de biblioteca importados en automatizaciones codificadas
- Uso de la autenticación de dos factores dentro de automatizaciones codificadas
- Conectar a MongoDB Atlas con automatizaciones codificadas
- Solución de problemas
- Automatización atendida basada en desencadenadores
- Repo. de objetos
- La herramienta ScreenScrapeJavaSupport
- 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
- Las versiones del paquete UiPath.UIAutomation.Activities y 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
- Pruebas de Studio
- Solución de problemas
- Acerca de la resolución de problemas
- Errores de compilación del ensamblado
- 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 del usuario de Studio
Comprensión de los procesos
La decisión de elegir entre una automatización para Robots atendidos o Robots desatendidos constituye la primera decisión importante que repercute en la forma en que los desarrolladores construyen el código, ya que el marco general de ejecución (activación del Robot, interacción, manejo de excepciones) es diferente. El cambiar al otro tipo de Robots más tarde puede resultar engorroso.
Cuando los Attended Robots tienen sentido
Para procesos de tiempo crítico, en vivo, desencadenados por el ser humano, como en un centro de llamadas, un Robot atendido que trabaje junto a un humano podría ser la única respuesta posible.
Reconsiderar los robots atendidos
No todos los procesos que requieren intervención humana deben utilizar robots atendidos. Si una decisión de juicio es inevitable, considera dividir el proceso en subprocesos más pequeños que puedan ejecutarse unattended.
Por ejemplo, un subproceso podría recopilar datos y, después de la validación humana, un segundo subproceso continúa automáticamente.
Un caso típico sería un proceso el cual requiere un paso manual en alguna parte del proceso, como por ejemplo revisar la sección de comentarios no estructurados de un ticket y, en base a eso, asignar el ticket a ciertas categorías.
Beneficios y consideraciones prácticas
Generalmente, optar por un Robot desatendido garantiza un uso más eficiente de la carga del Robot y un mayor ROI, una mejor gestión y seguimiento de las capacidades robóticas.
Sin embargo, varios factores afectan a esta decisión:
- Los Attended Robots normalmente se ejecutan solo durante el horario laboral
- Los robots atendidos mantienen a las máquinas y a los usuarios ocupados hasta que se completa la ejecución
- Tipos de entrada y volúmenes de transacciones
- Restricciones de tiempo y programación
- Número de robots disponibles
Documentar el proceso: DSD
La documentación de los procesos orienta el trabajo del desarrollador y le ayuda a realizar el seguimiento de las solicitudes y el mantenimiento de la aplicación. Desde luego, puede haber muchos otros documentos técnicos, pero hay uno que es fundamental para una aplicación sin problemas, concretamente el DSD (Documento de especificaciones de desarrollo).
El Documento de especificaciones de desarrollo debe contener los detalles del proceso automatizado y se centra en dos categorías principales: Guía de tiempo de ejecución y Detalles de desarrollo.
La guía de runtime debe contener un diagrama de runtime de alto nivel y detalles sobre la funcionalidad del robot, incluidos los subprocesos, las programaciones, los ajustes de configuración y la gestión de archivos.
Incluye detalles sobre los requisitos previos, la gestión de errores, la reanudación de procesos, el uso de Orchestrator, el registro, los informes y la gestión de credenciales.
Los Detalles de desarrollo deben incluir paquetes, entorno de desarrollo, niveles de registro, información de control de origen y componentes del flujo de trabajo con descripciones.
Incluye también componentes reutilizables, árboles de invocación, registros personalizados, instantáneas de diagramas de flujo, niveles de automatización y otros detalles de desarrollo.
Desarrollo y revisión del código
El arquitecto de soluciones de RPA es el responsable de formar continuamente a los desarrolladores en las mejores prácticas. Por lo tanto, es necesario realizar revisiones frecuentes y minuciosas del código para garantizar una calidad muy alta de los flujos de trabajo desarrollados. De este manera, se motiva a los desarrolladores para que construyan flujos de trabajo robustos y sigan la guía de mejores prácticas.
Prueba
Después de crear cada componente, realiza pruebas unitarias. Las pruebas exhaustivas de componentes garantizan una integración más fluida y una depuración más rápida.
Utiliza la carpeta Test_Frameworkde REFramework para los archivos de prueba. El archivo RunAllTests.xaml permite realizar pruebas automatizadas de varios archivos .xaml . Ejecuta pruebas fuera del horario de oficina en entornos de prueba para optimizar el tiempo del desarrollador.
La arquitectura recomendada de UiPath incluye Entornos de desarrollo y de Prueba que permiten probar el proceso fuera de los sistemas de producción en vivo.
En ocasiones, las aplicaciones se ven o se comportan de forma diferente entre los Entornos de desarrollo, Prueba o Producción y se deben tomar medidas adicionales, saneando los selectores o incluso la ejecución condicional de algunas actividades.
Utiliza el archivo UiPath.config o los activos de Orchestrator para cambiar los marcadores específicos del entorno. Define un parámetro booleano de modo de prueba para controlar el comportamiento durante la depuración.
Cuando es Verdadero, la automatización sigue rutas de prueba y no se ejecuta completamente. Por ejemplo, omite las notificaciones y utiliza Cancelar en lugar de Guardar. Cuando es Falso, sigue las rutas de producción normales.
Esto te permite realizar modificaciones y pruebas en los procesos que funcionan directamente en los sistemas en vivo.
Emitir
Existen diferentes formas de diseñar la arquitectura y el flujo de liberación, teniendo en cuenta la configuración de la infraestructura, la preocupación por la segregación de roles, etc.
En este modelo propuesto, los desarrolladores de UiPath pueden construir sus proyectos y probarlos en entornos de Desarrollo en Orchestrator. Se les permite registrar el proyecto en una unidad gestionada por un sistema de control de versiones (VCS), como GIT, SVN o TFS.
La publicación del paquete y su puesta a disposición de los entornos de Prueba y Producción es tarea de otro equipo, como el de TI.
Las rutas de implementación en Orchestrator se han cambiado de su valor por defecto a las carpetas gestionadas por el VCS, cambiando el valor Storage.Location en el UiPath.Orchestrator.dll.configarchivo de la sección Implementación.
El modelo también contiene un repositorio de componentes reutilizables.
Aquí está el flujo de publicación del proyecto, paso a paso:
- Los desarrolladores crean el proceso, lo prueban y lo depuran localmente (Studio).
- Una vez completado el desarrollo de la automatización, el proceso se publica en el Desarrollo de Orchestrator y es probado nuevamente de principio a fin.
- La carpeta del proyecto está confirmada (no empaquetada) en una carpeta de la Biblioteca Maestra (en VCS).
- El equipo de operaciones de IT/RPA ha creado el paquete de proyecto para QA. Este paso pretende ser una medida de seguridad adicional: el código fuente de la automatización es inspeccionado (por una entidad diferente) antes de ser empaquetado y ejecutado por los robots. Por ejemplo, el proceso empaquetado es almacenado en la carpeta de Process Pckgs (QA) en VCS, desde donde es desplegado a los robots de QA y ejecutado.
- Si cualquier problema es revelado durante las pruebas, se repiten los pasos anteriores.
- Una vez superadas todas las pruebas de control de calidad, el paquete es enviado a un entorno de Producción: Process Pckgs (Prod).
- Una vez que el proceso se pone en marcha, el paquete de procesos se despliega en los Robots de producción y es ejecutado.
El Contenido reutilizable se crea y despliega por separado, como código UiPath (Biblioteca de Código Reutilizable) e Invokes (Repositorio de Invokes).
Los flujos de trabajo con código fuente .xaml son archivos que contienen actividades para automatizar procesos comunes, tales como Iniciar sesión en SAP:
Las Invocaciones representan flujos de trabajo compuestos solo por una actividad de Invocación de los flujos de trabajo de código mencionados anteriormente.
El panel Fragmento de un desarrollador de Studio debería apuntar a este repositorio Invocar para poder acceder fácilmente (arrastrando y soltando) al Contenido reutilizable.
El responsable del diseño local encargado de mantener la actualización del Contenido reutilizable (debido a un cambio en el proceso, por ejemplo) actualiza los flujos de trabajo con código. Las Invocaciones permanecen sin cambios.
Una de las ventajas de este enfoque (frente a trabajar de forma directa con la biblioteca de código fuente) es que, cuando se ha realizado un cambio en un componente reutilizable, todos los proyectos en ejecución reflejan también este cambio, dado que solo contienen una Invocación del flujo de trabajo modificado.
Supervisión
Utiliza las actividades de Mensaje de registro para realizar un seguimiento de la ejecución del proceso para la supervisión, el diagnóstico y la depuración. Los mensajes deben incluir ID de transacción e información de estado para una identificación precisa.
Debe utilizarse el registro:
- Al principio y al final de cada flujo de trabajo;
- Cuando los datos provienen de fuentes externas;
- Cada vez que se detecte una excepción al más alto nivel.
Los mensajes se envían con la prioridad especificada (p. ej., Información, Rastreo, Advertencia) en Orchestrator y son guardados también en el archivo local .nlog.
Campos de registro personalizados
Para facilitar la disponibilidad de los datos en Kibana para la elaboración de informes, el Robot puede etiquetar los mensajes de registro con valores adicionales usando la actividad Agregar campos de registro. Por defecto, cualquier salida de registro de UiPath ya cuenta con varios campos, entre ellos message, timestamp, level, processName, fileName y la identidad del robot en Windows. Los campos de registro son persistentes, de modo que si no necesitamos marcar todos los mensajes con una etiqueta, los campos deben eliminarse inmediatamente después del registro, usando la actividad Eliminar campos de registro. No uses un nombre de campo que ya exista. En la primera vez que añadas el campo, es importante que especifiques el tipo de argumento adecuado. Así es como lo indexa Elasticsearch.