studio
latest
false
- 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
- 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 - Invalid parameter modifier
- 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
- Utilizar un flujo de trabajo de código bajo en la automatización codificada
- Invocar automatizaciones codificadas dentro del flujo de trabajo de código bajo
- 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
- Using two-factor authentication within coded automations
- Automatización atendida basada en desencadenadores
- Grabación
- Elementos de la IU
- 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 VMware Horizon
- Automatización de Salesforce
- Automatización SAP
- Automatización de IU de macOS
- La herramienta ScreenScrapeJavaSupport
- El protocolo WebDriver
- 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
- El paquete UiPath.UIAutomation.Activities y las versiones de 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
- Conjunto de pruebas - Estudio
- 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
- Validation of large Windows-legacy projects takes longer than expected
Utilizar un flujo de trabajo de código bajo en la automatización codificada
Guía de usuario de Studio
Última actualización 17 de dic. de 2024
Utilizar un flujo de trabajo de código bajo en la automatización codificada
Esta parte del tutorial muestra cómo invocar un flujo de trabajo de código bajo en una automatización codificada. El escenario implica:
- Crear un flujo de trabajo codificado (archivo CS), denominado
Random
, que genera un valor aleatorio en un rango específico determinado por los valores enteros mínimos y máximos que proporciones. - Crear un flujo de trabajo XAML de código bajo, denominado
Increment
, que añade uno a cualquier resultado dado, incrementando así el valor recibido. - Crear otro flujo de trabajo codificado (un archivo CS) denominado
IncrementProxy
que toma el valor generado de forma aleatoria del flujo de trabajoRandom
, invoca el flujo de trabajo XAMLIncrement
en este valor (utilizando el objetoworkflows
) y luego devuelve el resultado incrementado al entorno de la llamada.
- En el grupo Archivo, crea un nuevo flujo de trabajo codificado.
- Cambia la clase pública
Execute()
para aceptar dos parámetros de entrada de tipoint
llamadosmin
ymax
, y devuelve unint
. Los parámetros de entrada representan los límites dentro de los que se genera un valor aleatorio, mientras que el parámetro de retorno simboliza el propio valor aleatorio generado.Por ejemplo, cambiapublic void Execute()
apublic int Execute(int min, int max)
. - Crea un nuevo objeto de la clase
Random
utilizando la palabra clavenew
y el constructorRandom()
.- Utiliza el método
Next()
de la instancia de claseRandom
para generar un número aleatorio en el rango entremin
ymax
. - Asigna este número aleatorio generado a una nueva variable, llamada
randomValue
.
- Utiliza el método
- Devuelve la variable
randomValue
. Devolver esta variable al métodoExecute
te permite acceder a la variablerandomValue
en cualquier flujo de trabajo codificado en tu proyecto que se ejecute con el métodoExecute
.
public class Random : CodedWorkflow
{
[Workflow]
public int Execute(int min, int max)
{
// Get a random value between min and max
var randomValue = new Random().Next(min, max);
// Return it to the caller
return randomValue;
}
}
public class Random : CodedWorkflow
{
[Workflow]
public int Execute(int min, int max)
{
// Get a random value between min and max
var randomValue = new Random().Next(min, max);
// Return it to the caller
return randomValue;
}
}
- En el grupo Archivo, crea un nuevo flujo de trabajo.
- Crea dos argumentos de tipo
Int32
, llamadosresult
yinput.
. Establece la dirección del argumentoresult
como Salida y la dirección del argumentoinput
como Entrada. - Añade una actividad Asignar.
- En el campo Guardar en, introduce la variable
result
. - En el campo Valor a guardar, añade la siguiente expresión, que incrementa el valor
input
:input + 1
.
- En el campo Guardar en, introduce la variable
- En el grupo Archivo, crea un nuevo flujo de trabajo codificado.
- Cambia la clase
Execute
para que tome la variablerandom
creada en el paso Crear elRandom
flujo de trabajo codificado de este tutorial y cambia la clase para que devuelva un argumentoint
. - Invoca el flujo de trabajo de código bajo
Increment
utilizando el objetoworkflows
, pasa la variable Int32random
a él y guarda la salida en una variable llamadaout_arg
. - Registra la variable
out_arg
en el panel de salida. - Devuelve la variable
out_arg
al métodoExecute
.
public class Workflow : CodedWorkflow
{
[Workflow]
public int Execute(int random)
{
// Receive random from the XAML and increment it
var out_arg = workflows.Increment(random);
// Log the result and return it to the caller
Log(out_arg.ToString());
// Return the result to the caller
return out_arg;
}
}
public class Workflow : CodedWorkflow
{
[Workflow]
public int Execute(int random)
{
// Receive random from the XAML and increment it
var out_arg = workflows.Increment(random);
// Log the result and return it to the caller
Log(out_arg.ToString());
// Return the result to the caller
return out_arg;
}
}