Utils
Utils
El módulo Utils es responsable de realizar acciones que se consideran útiles para el desarrollo de ciertas rutinas de los robots.
Métodos
calculateDateDistance
Método responsable de calcular la distancia entre dos fechas en una determinada unidad de tiempo.
const distance = await Utils.calculateDateDistance["v1_0_0"]({
dateFrom: '2024-01-01',
dateTo: '2024-12-31',
unity: 'days',
})
Parámetros obligatorios
dateFrom: String - fecha de inicio.dateTo: String - fecha de fin.unity: String - unidad de tiempo del resultado. Valores:years|months|days|hours|minutes|seconds.
Parámetros opcionales
inputFormat: String - formato de las fechas de entrada (ej.:YYYY-MM-DD,DD/MM/YYYY). Si no se indica, intenta detectarlo automáticamente.
Retorno
La constante o variable creada, como la distance del ejemplo mostrado anteriormente, recibirá un número (que puede ser fraccionario) representando la distancia entre las dos fechas en la unidad indicada.
callRobot
Método responsable de llamar a otro robot desde el robot en ejecución.
const result = await Utils.callRobot["v1_0_0"]({
callerRobot: 'meu-robo',
robotKey: 'chave-do-robo-chamado',
args: { parametro: 'valor' }
})
Parámetros obligatorios
callerRobot: String - identificador del robot que está realizando la llamada.robotKey: String - clave del robot que será llamado.
Parámetros opcionales
args: Any - argumentos que serán pasados al robot llamado.
Retorno
La constante o variable creada, como la result del ejemplo mostrado anteriormente, recibirá un objeto con la siguiente propiedad:
result.error: String - mensaje de error en caso de que la llamada falle. Si no hay error, esta propiedad no estará presente.
clipboardWrite
Método responsable de almacenar temporalmente un valor en el clipboard.
await Utils.clipboardWrite["v1_0_0"]({
content: "Roberty"
})
Parámetros obligatorios
content: String - espera un valor para ser almacenado temporalmente en el portapapeles.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
clipboardRead
Método responsable de leer el valor almacenado temporalmente en el clipboard.
const valor = await Utils.clipboardRead["v1_0_0"]()
Parámetros obligatorios
Este método no tiene parámetros obligatorios.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
La constante o variable creada, como la valor del ejemplo mostrado anteriormente, recibirá un objeto con la siguiente propiedad:
valor.content: String - contiene el valor almacenado en el portapapeles.
count
Método responsable de contar el número de elementos de un valor.
const total = await Utils.count["v1_0_0"]([1, 2, 3, 4, 5])
Parámetros obligatorios
- Este método espera directamente el valor que será contado (no un objeto). Los strings devuelven la cantidad de caracteres, los arrays la cantidad de elementos y los números la cantidad de dígitos; objetos, booleanos y demás tipos devuelven
0.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
La constante o variable creada, como la total del ejemplo mostrado anteriormente, recibirá un número que representa la cantidad de elementos del valor indicado.
delay
Método responsable de pausar el robot por un determinado período de tiempo.
await Utils.delay["v1_0_0"](5)
Parámetros obligatorios
- La cantidad en segundos que el robot deberá esperar.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
downloadFilesInBatch
Método responsable de descargar varios archivos desde URL a una carpeta local.
const result = await Utils.downloadFilesInBatch["v1_0_0"]({
targetFolder: 'C:/Users/Roberty/Downloads',
files: [
{ url: 'https://exemplo.com/arquivo1.pdf', nameToSave: 'documento1.pdf' },
{ url: 'https://exemplo.com/arquivo2.pdf', nameToSave: 'documento2.pdf' },
],
})
Parámetros obligatorios
targetFolder: String - ruta de la carpeta donde serán guardados los archivos.files: Object[] - lista de archivos que serán descargados. Cada objeto debe contener:url: String - URL del archivo que será descargado.nameToSave: String - nombre con el que será guardado el archivo.
Parámetros opcionales
createTargetFolderIfNot: Boolean - si estrue, crea la carpeta de destino en caso de que no exista. Valor predeterminado:false.
Retorno
La constante o variable creada, como la result del ejemplo mostrado anteriormente, recibirá un objeto con las siguientes propiedades:
result.allFilesDownloaded: Boolean - indica si todos los archivos fueron descargados con éxito.result.filesWithSuccess: String[] - lista de nombres de los archivos descargados con éxito.result.filesWithError: String[] - lista de nombres de los archivos que fallaron.result.errorsByFile: Object - objeto con los errores de cada archivo que falló, indexado por el nombre del archivo.
execCommand
Método responsable de ejecutar un comando en la terminal del sistema operativo.
await Utils.execCommand["v1_0_0"]({
command: 'notepad.exe C:/Users/Roberty/Desktop/arquivo.txt',
})
Parámetros obligatorios
command: String - comando que será ejecutado en la terminal.
Parámetros opcionales
waitCommandFinish: Boolean - si estrue, espera que el comando finalice antes de continuar la ejecución del robot. Valor predeterminado:false.
Retorno
Este método no tiene retorno.
focusProcess
Método responsable de enfocar la pantalla de un proceso abierto en la computadora del usuario.
await Utils.focusProcess["v1_0_0"]({
processName: "chrome"
})
Parámetros obligatorios
processName: String - espera el nombre exacto del proceso que será enfocado.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
getDeviceToken
Método responsable de obtener el token del dispositivo en el que el robot se está ejecutando.
const token = await Utils.getDeviceToken["v1_0_0"]()
Parámetros obligatorios
Este método no tiene parámetros obligatorios.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
La constante o variable creada, como la token del ejemplo mostrado anteriormente, recibirá un string con el token del dispositivo.
getInstanceByRobotKey
Método responsable de obtener la instancia de ejecución de un robot a partir de su clave.
const instance = await Utils.getInstanceByRobotKey["v1_0_0"]()
Parámetros obligatorios
Este método no tiene parámetros obligatorios.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
La constante o variable creada, como la instance del ejemplo mostrado anteriormente, recibirá un string con el identificador de la instancia en ejecución del robot actual (la clave usada es la del propio robot). Si la instancia no se encuentra en hasta 30 segundos, la ejecución se interrumpe con error (TIMEOUT o NOT_FOUND).
killProcess
Método responsable de finalizar un proceso abierto en la computadora del usuario.
await Utils.killProcess["v1_0_0"]({
processName: "chrome"
})
Parámetros obligatorios
processName: String - espera el nombre exacto del proceso que será finalizado. Este parámetro no será obligatorio si se indicaprocessId.processId: Number - espera el id del proceso que será finalizado. Este parámetro no será obligatorio si se indicaprocessName.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
maximizeProcess
Método responsable de maximizar la pantalla de un proceso abierto en la computadora del usuario.
await Utils.maximizeProcess["v1_0_0"]({
processName: "chrome"
})
Parámetros obligatorios
processName: String - espera el nombre exacto del proceso que será maximizado.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
minimizeProcess
Método responsable de minimizar la pantalla de un proceso abierto en la computadora del usuario.
await Utils.minimizeProcess["v1_0_0"]({
processName: "chrome"
})
Parámetros obligatorios
processName: String - espera el nombre exacto del proceso que será minimizado.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
runPythonCode
Método responsable de ejecutar un fragmento de código Python y devolver su salida.
const output = await Utils.runPythonCode["v1_0_0"]('print("Hello from Python!")')
Parámetros obligatorios
- Este método espera directamente un string con el código Python que será ejecutado.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
La constante o variable creada, como la output del ejemplo mostrado anteriormente, recibirá un string con el contenido impreso en stdout por la ejecución del código Python.
screenshot
Método responsable de capturar una imagen de la pantalla entera y guardarla en un archivo.
await Utils.screenshot["v1_0_0"]({
fullPath: `C:\\Users\\Roberty\\Downloads\\imagem.png`
})
Parámetros obligatorios
fullPath: String - espera la ruta completa donde será guardada la imagen capturada, incluyendo el nombre del archivo y su extensión (ej.:.png).
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
screenshotRegion
Método responsable de capturar una imagen de una región específica de la pantalla y guardarla en un archivo.
await Utils.screenshotRegion["v1_0_0"]({
x: 0,
y: 0,
width: 800,
height: 600,
fullPath: 'C:/Users/Roberty/Downloads/regiao.png'
})
Parámetros obligatorios
- Este método espera directamente un objeto con las coordenadas de la región y la ruta del archivo (
xeytienen valor predeterminado0):x: Number - coordenada x de la esquina superior izquierda de la región.y: Number - coordenada y de la esquina superior izquierda de la región.width: Number - ancho de la región en píxeles.height: Number - altura de la región en píxeles.fullPath: String - ruta completa donde será guardada la imagen capturada.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
Este método no tiene retorno.
sendWebhookResponse (Profissional)
Método responsable de responder un valor al webhook de tu robot.
await Utils.sendWebhookResponse["v1_0_0"]({
webhookCallId: "webhookCallId"
})
Parámetros obligatorios
Este método no tiene parámetros obligatorios.
Parámetros opcionales
args: Any - recibe un valor para ser respondido al webhook.webhookCallId: String - recibe el webhookCallId del robot.
En la v1_0_0, webhookCallId es obligatorio. La versión v2_0_0 hace webhookCallId opcional y acepta también el parámetro opcional loadBalanceCallId: String, que se reenvía junto con la respuesta.
Retorno
Este método no tiene retorno.
startProcess
Método responsable de iniciar un proceso en la computadora del usuario.
const process = await Utils.startProcess["v1_0_0"]({
fileName: "chrome",
arguments: "https://www.google.com"
})
Parámetros obligatorios
fileName: String - espera el nombre exacto del proceso que será iniciado o, en caso necesario, la ruta completa del ejecutable deseado.
Parámetros opcionales
arguments: String - espera un string con los argumentos para la inicialización del proceso.
Retorno
La constante o variable creada, como la process del ejemplo mostrado anteriormente, recibirá un objeto con las siguientes propiedades:
process.id: Number - devuelve el id del proceso iniciado.process.processName: String - devuelve el nombre del proceso iniciado.
waitHumanAction
Método responsable de pausar la ejecución del robot esperando una acción humana. El robot espera hasta que el usuario confirme la continuación o hasta que se alcance el tiempo límite.
const result = await Utils.waitHumanAction["v1_0_0"]({
timeout: 300
})
Parámetros obligatorios
timeout: Number - tiempo máximo en segundos que el robot esperará por la acción humana. Con0, no hay tiempo límite.
Parámetros opcionales
Este método no tiene parámetros opcionales.
Retorno
La constante o variable creada, como la result del ejemplo mostrado anteriormente, recibirá un objeto con la siguiente propiedad:
result.result: String - indica el resultado de la espera. Valores:CONTINUE(el usuario confirmó) |TIMEOUT(se alcanzó el tiempo límite).
Si el runner no logra abrir la ventana de interacción, la ejecución se interrumpe con error.