- 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.
When Attended Robots Make Sense
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.
Reconsidering Attended Robots
Not all processes requiring human input must use Attended Robots. If a judgmental decision is unavoidable, consider splitting the process into smaller sub-processes that can run unattended.
For example, one sub-process could collect data, and after human validation, a second sub-process continues automatically.
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.
Benefits and Practical Considerations
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.
However, several factors affect this decision:
- Attended Robots typically run only during working hours
- Attended Robots keep machines and users busy until execution completes
- Input types and transaction volumes
- Time restrictions and scheduling
- Number of available Robots
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.
The Runtime Guide should contain a high-level runtime diagram and details about Robot functionality, including sub-processes, schedules, configuration settings, and file management.
Include details on prerequisites, error handling, process resumption, Orchestrator usage, logging, reporting, and credential management.
The Development Details should include packages, development environment, logging levels, source control information, and workflow components with descriptions.
Also include reusable components, invoke trees, custom logs, flowchart snapshots, automation levels, and other development details.
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
After each component is built, conduct unit testing. Thorough component testing ensures smoother integration and faster debugging.
Use the REFramework’s Test_Framework folder for test files. The RunAllTests.xaml file enables automated testing of multiple .xaml files. Run tests outside office hours in testing environments to optimize developer time.
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.
Use the UiPath.config file or Orchestrator assets to switch environment-specific flags. Define a test mode Boolean parameter to control behavior during debugging.
When True, the automation follows test routes and doesn't execute fully. For example, skip notifications and use Cancel instead of Save. When False, follow normal production routes.
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
Use Log Message activities to trace process execution for supervision, diagnosis, and debugging. Messages should include transaction IDs and state information for accurate identification.
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.