- Notas relacionadas
- Primeros pasos
- Instalación y configuración
- Proyectos de automatización
- Dependencias
- Tipos de flujos de trabajo
- Flujo de control
- Comparación de archivos
- Mejores prácticas de automatización
- 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-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-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
- 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
Guía de inicio rápido
Esta guía de inicio rápido te ayuda a embarcarte en el viaje de trabajar con automatizaciones codificadas. Aprenderás a crear automatizaciones codificadas siguiendo un tutorial que muestra cómo crear un flujo de trabajo codificado que genera números aleatorios entre 1 y 100 y realiza operaciones de suma o resta en función de si los números son pares o impares.
¿Qué son las automatizaciones codificadas?
Las automatizaciones codificadas son automatizaciones creadas mediante código, en lugar de actividades de arrastrar y soltar. Cuando desarrollas automatizaciones codificadas, puedes utilizar los servicios de UiPath (equivalentes a los paquetes de actividades), las API de automatización codificadas (similares a las actividades), los paquetes .NET NuGet externos y tus clases C# personalizadas en UiPath Studio. Esto facilita la integración con sistemas externos, bases de datos, API y otros servicios. Las automatizaciones codificadas pueden ser de tres tipos:
- Flujos de trabajo codificados: se utilizan para diseñar flujos de trabajo en código.
- Casos de prueba codificados: se utilizan para diseñar casos de prueba.
- Archivos de código fuente: se utilizan para crear código que luego puedas llamar en otros tipos de archivos codificados.
Consulta la Introducción para las automatizaciones codificadas para obtener más información.
Escenario
En este tutorial utilizamos la API de automatización codificada RandomNumber para generar números decimales aleatorios dentro del rango especificado. A continuación, comprobamos si los números generados son pares, utilizando un método personalizado llamado IsEven, y realizamos la suma o la resta en función de esa condición.
Crear el flujo de trabajo codificado
Crea el flujo de trabajo codificado en tu proyecto de Studio e instala las dependencias necesarias.
- Instala Testing.Activities 23.10 porque el escenario implica utilizar la API de automatización codificada RandomNumber desde el servicio de Testing.
- Crea un flujo de trabajo codificado seleccionando Nuevo y luego Flujo de trabajo codificado en el grupo Archivo.
Las automatizaciones codificadas están estructuradas con espacios de nombres, clases de ayudantes y métodos de punto de entrada. La clase base, CodedWorkflow, se utiliza tanto para los flujos de trabajo codificados como para los casos de prueba y proporciona acceso a las interfaces y servicios necesarios. El método de punto de entrada, llamado Execute(), es crucial para ejecutar estas automatizaciones y se puede personalizar con los argumentos de entrada y salida.

Diseñar el flujo de trabajo codificado
Escribe el código en Studio IDE que consta de un editor de código dedicado, pestañas de archivo y rutas de navegación para facilitar la navegación.
- En el flujo de trabajo codificado, pero fuera del método
Execute(), crea un método personalizado llamadoIsEven.
Este método devuelve un valor boolean, que representa si la variable decimal introducida es un número par o no.
Consulta el siguiente ejemplo de código:
private bool IsEven(decimal number)
{
// Check if a decimal number is even
return (number % 2 == 0);
}
private bool IsEven(decimal number)
{
// Check if a decimal number is even
return (number % 2 == 0);
}
Si no quieres crear un método personalizado en un archivo de código fuente independiente, puedes crearlo dentro del flujo de trabajo codificado o del caso de prueba codificado, pero fuera del método Execute().
- Dentro del método Ejecutar utiliza la API de automatización codificada RandomNumber para crear dos variables
decimalcon un valor aleatorio e imprimirlas en la consola utilizandoConsole.WriteLine.
Consulta el siguiente ejemplo de código:
// Generate random numbers within a specified range (e.g., 1 to 100)
decimal num1 = testing.RandomNumber(1, 100);
decimal num2 = testing.RandomNumber(1, 100);
Console.WriteLine($"Generated numbers: {num1} and {num2}");
// Generate random numbers within a specified range (e.g., 1 to 100)
decimal num1 = testing.RandomNumber(1, 100);
decimal num2 = testing.RandomNumber(1, 100);
Console.WriteLine($"Generated numbers: {num1} and {num2}");
Escribes automatizaciones codificadas como si escribieras código, utilizando las API de automatización codificadas disponibles a través de los servicios de UiPath y otras clases C# personalizadas o bibliotecas de clases .NET disponibles en la fuente nuget.org.En las automatizaciones codificadas, los servicios son equivalentes a los paquetes de actividades utilizados en las automatizaciones de código bajo. Estos servicios, como System.Activities, UiAutomation.Activities y Testing.Activities, vienen con API de automatización codificada que puedes utilizar para crear automatizaciones codificadas.
- Crea una instrucción If, con la condición de que si ambos números son pares, la automatización debe sumarlos. La cláusula Else debe restar los números, si al menos uno de ellos es impar. Ambos resultados deben imprimirse en la consola usando
Console.WriteLine.
Consulta el siguiente ejemplo de código:
if (IsEven(num1) && IsEven(num2))
{
// Both numbers are even, so add them together
decimal sum = num1 + num2;
Console.WriteLine($"Both numbers are even. Sum: {sum}");
}
else
{
// At least one number is odd, so subtract them
decimal difference = num1 - num2;
Console.WriteLine($"At least one number is odd. Difference: {difference}");
}
if (IsEven(num1) && IsEven(num2))
{
// Both numbers are even, so add them together
decimal sum = num1 + num2;
Console.WriteLine($"Both numbers are even. Sum: {sum}");
}
else
{
// At least one number is odd, so subtract them
decimal difference = num1 - num2;
Console.WriteLine($"At least one number is odd. Difference: {difference}");
}

Gestionar el proceso de flujo de trabajo codificado
Después de crear y diseñar un flujo de trabajo codificado, puedes validarlo utilizando el Analizador de flujo de trabajo, depurarlo, ejecutarlo y luego publicarlo en Orchestrator.
-
En la cinta Diseño, haz clic en Analizar archivo y luego en Validar archivo para comprobar si el archivo de flujo de trabajo codificado tiene errores del compilador de C#.

Consulta Acerca del Analizador de flujo de trabajo para obtener más información sobre el Analizador de flujo de trabajo. 2. En la cinta de Depurar, haz clic en Depurar archivo para depurar el archivo de flujo de trabajo codificado y comprobar si hay incoherencias en runtime.

- En la cinta Depurar o Diseño, haz clic en Depurar archivo y luego en Ejecutar archivo para ejecutar el archivo de flujo de trabajo codificado que creaste.
- Selecciona Publicar en la cinta Diseño. Aparece el cuadro de diálogo Proceso de publicación.
- En la pestaña Opciones de publicación, selecciona el lugar en el que deseas publicar el proyecto. Las opciones disponibles dependen del tipo de proyecto que estés publicando.
Para Procesos:
- Fuente de procesos de tenant de Orchestrator, fuente de espacio de trabajo personal de Orchestrator
- Asistente (Valores predeterminados del Robot): ubicación predeterminada del paquete para el Robot y el Asistente,
C:\ProgramData\UiPath\Packages. Los proyectos publicados aquí se muestran automáticamente en el Asistente. La opción no está disponible si Studio está conectado a Orchestrator.Estas opciones están disponibles si Studio está conectado a Orchestrator. - Personaliza una URL de la fuente de NuGet personalizada o una carpeta local. La adición de una Clave API es opcional.
- Haz clic en Publicar. Se creará así un archivo NUPKG y se cargará en Orchestrator, la fuente NuGet personalizada, o se guardará en el directorio local.
Proyecto de ejemplo
Para seguir los pasos de este tutorial y probarlo tú mismo, puedes descargar el siguiente proyecto de ejemplo: Primer flujo de trabajo codificado.
Próximos pasos
Consulta los siguientes recursos para mejorar tu conocimiento sobre las automatizaciones codificadas: