Rocketbot puede ejecutar robots en paralelo. Si una máquina tiene una licencia de producción tipo S, permite 24 horas de ejecución secuencial de procesos concatenados. La licencia L, que permite 10 robots en paralelo, permite hasta 240 horas de ejecución por día en una misma máquina o instancia, siempre que el proceso lo permita.
Cuadro de condiciones
El siguiente cuadro grafica, cuándo y en qué condiciones se pueden ejecutar robots en paralelo.
Tipo de aplicación a automatizar
Posibilidad
Requisitos
Solución Alternativa
Sistemas WEB internos
El sistema debe permitir correr múltiples sesiones por equipo
Sistemas WEB externos
Bases de datos
APIs
Correo
SAP con GUI Scripting
Habilitar en SAP GUI Scripting y una sesión por Bot
Aplicación Java Cliente Servidor
Probable
-La aplicación debe permitir correr múltiples sesiones en la misma máquina.-Cada BOT requiere tener una cuenta de acceso.-La aplicación cliente debe ser una aplicación Java(basada en swing y awt) que se pueda grabar en Java Recorder
Aplicación Windows Cliente Servidor
-La aplicación cliente debe permitir correr múltiples sesiones en la misma máquina.-Cada BOT requiere tener una cuenta de acceso.-La aplicación cliente debe ser una aplicación Windows(basada en C# o .net)que se pueda grabar con Desktop Recorder Rocketbot
Microsoft Word
Solo si los BOTs trabajan sobre Archivos Word diferentes
Microsoft Excel
Solo si los BOTs trabajan sobre Archivos Excel diferentes
Aplicación que obligue al uso de tratamiento de imágenes(OCR) o virtualización para su automatización
No se puede automatizar en paralelo sobre una misma máquina
Usar VMs sobre un mismo Servidor o equipos físicos. Con licencias individuales Onpremise S(Si requiere usar Xperience).
Ejemplo de Ejecución en Paralelo de Procesos en la Misma Máquina
Imaginemos que tenemos una máquina con una licencia L de Rocketbot que permite ejecutar 10 robots en paralelo. Queremos automatizar varias tareas de la empresa durante el día.
Proceso de Entrada de Datos:
Un robot extrae datos de correos electrónicos recibidos y los ingresa en un sistema CRM.
Tiempo estimado de ejecución: 2 horas.
Proceso de Generación de Reportes:
Otro robot genera reportes de ventas diarias a partir de datos en una base de datos.
Tiempo estimado de ejecución: 1 hora.
Proceso de Facturación:
Un tercer robot automatiza la creación y envío de facturas a los clientes.
Tiempo estimado de ejecución: 3 horas.
Proceso de Análisis de Datos:
Un cuarto robot analiza los datos de las ventas y produce un informe de tendencias.
Tiempo estimado de ejecución: 4 horas.
Proceso de Actualización de Inventario:
Un quinto robot actualiza el inventario basado en las ventas y compras del día.
Tiempo estimado de ejecución: 2 horas.
Ejecución en Paralelo
Con la licencia L, podemos ejecutar estos robots en paralelo. Aquí hay un ejemplo de cómo se vería:
8:00 AM – 10:00 AM:
Robot 1 ejecuta el Proceso de Entrada de Datos.
Robot 2 ejecuta el Proceso de Generación de Reportes.
10:00 AM – 1:00 PM:
Robot 3 comienza el Proceso de Facturación.
Robot 4 comienza el Proceso de Análisis de Datos.
1:00 PM – 3:00 PM:
Robot 5 ejecuta el Proceso de Actualización de Inventario.
Total de Horas Utilizadas
Proceso de Entrada de Datos: 2 horas.
Proceso de Generación de Reportes: 1 hora.
Proceso de Facturación: 3 horas.
Proceso de Análisis de Datos: 4 horas.
Proceso de Actualización de Inventario: 2 horas.
Total de horas utilizadas: 12 horas de ejecución distribuida en paralelo.
En este ejemplo, la capacidad de ejecutar robots en paralelo permite que múltiples tareas se completen en menos tiempo, aprovechando al máximo las 240 horas disponibles por día de la licencia L.
Consideraciones
Tenga en cuenta los requerimientos de hardware para el paralelismo revisando este link.
Studio Rocketbot – Variables internas
Rocketbot Studio cuenta con variables nativas que puedes utilizar para acceder a información rápidamente. Estas variables pueden ser utilizadas desde cualquier comando y no necesitas crearla en la sección de variables o generar una acción para generarlas.
Variable
Descripción
%rocketbot_last_status%
dict. Almacena el estado del último comando ejecutado. {‘status’: ‘True’, ‘message’: ‘setvar ‘, ‘img’: ”, ‘vars’: [], ‘ifs’: [], ‘extra’: [], ‘time’: ‘0.004066944122314453’}
%log_path%
str. Almacena la ruta del archivo log de la ejecución en curso
%base_path%
str. Almacena la ruta de la carpeta de rocketbot
%date%
str. Almacena la fecha y hora actual. El formato es YYYY-MM-DD HH:MM:SS.ms
%day%
str. Retorna el día al momento de usar la variable
%month%
str. Retorna el mes al momento de usar la variable
%year%
int. Retorna el año al momento de usar la variable
%hour%
int. Retorna la hora al momento de usar la variable
%minute%
int. Retorna el minuto al momento de usar la variable
%second%
int. Retorna el segundo al momento de usar la variable
%milisecond%
str. Almacena la parte de los milisegundos de la hora al momento de usar la variable
%machine%
str. Almacena el nombre de la máquina donde se está ejecutando el proceso
%tab%
str. Contiene un tab
%newline%
str. Contiene un salto de línea o nueva linea
%enter%
str. Contiene un salto de línea o nueva linea
%osname%
str. Almacena el nombre del sistema operativo
%username%
str. Almacena el nombre de usuario de la computadora
%db_path%
str. Almacena la ruta de la base de datos
%project_path%
str. Almacena la ruta de la carpeta de la base de datos. Para versiones superior a la 2024, corresponde a la carpeta del proyecto
%robot_name%
str. Contiene el nombre del robot
%production%
bool. Retorna True si la ejecución es en producción. En caso contrario, retorna False
Matriz de responsabilidad
Optimiza la Gestión de Tareas con la Matriz de Responsabilidades de Rocketbot RPA
Tener normas internacionales que aseguren los datos y procesos como la norma ISO27001/2.
Encriptar los datos en reposo y transición de los componentes de orquestador y robots que se encuentren en las nubes de Rocketbot.
Aplicar reglas y normas de seguridad para proteger los runner/robots y procesos que corren de manera on premise
Proteger los codigo de robots en desarrollo antes de pasar a producción
Backup y recuperación
Tener un RTO (tiempo objetivo de recuperación) de 2hs y un RPO (objetivo de punto de recuperación) de 24hs para servicios web (orquestador, sistema de licencias, etc) declarado en nuestra norma ISO27001
Realizar copias de seguridad de Rocketbot Studio, bots y logs ya que los mismos se encuentran de manera onpremise.
Gestionar y apoyar la infraestructura y los requisitos previos de los componentes externos para recibir soporte
Uso de APIs Externas (ej. Gemini, ChatGPT, otros)
Informar sobre la posibilidad de integrar APIs de terceros. Rocketbot no puede garantizar la seguridad ni protección de la información enviada a estos servicios, al estar fuera de su infraestructura y control.
Evaluar, aprobar y responsabilizarse del uso de APIs externas. Implementar medidas de cumplimiento y seguridad necesarias al integrar servicios de terceros.
Nota Importante sobre APIs Externas
Cuando se utilizan APIs de terceros (por ejemplo, Gemini, ChatGPT u otros servicios de IA externos a la Suite Rocketbot), Rocketbot no tiene control ni puede garantizar la protección, privacidad o tratamiento de los datos enviados a dichos servicios. La responsabilidad de evaluar y aprobar el uso de estas integraciones recae en el cliente, incluyendo aspectos legales, de cumplimiento y de seguridad de la información.
¿Cómo funciona el soporte de Rocketbot?
Rocketbot proporciona soporte acerca de sus herramientas y servicios exclusivamente a través de Slack y el Foro.
Rocketbot no tiene la obligación de responder incidencias enviadas a través de otro medio.
El acceso a los canales de soporte está dada por las siguientes condiciones:
Slack: Para desarrolladores BBR1+ con licencia de producción
Foro: Para todos los miembros de la comunidad
Horarios de atención (Zona horaria de Chile)
UTC-3 horario de Verano . UTC-4 horario de Invierno
El horario de soporte está fijado y dividido en el siguiente horario:
Soporte Completo: Desde las 9:00 hasta las 18:00. Este incluye conexiones remotas o videoconferencias
Solo Slack: Desde las 18:00 hasta las 20:00. Sin conexión remota ni videoconferencia
El soporte realizado en Slack es conversacional, no requieres solicitar un ticket para realizar tu consulta, solamente debes detallarnos tu problema y un agente atenderá tu solicitud. Si la incidencia reportada no puede ser solucionada de forma inmediata o requiere que el equipo realice alguna investigación o desarrollo, se creará un ticket para dar seguimiento a la solicitud.
💡 El soporte es por CHAT, por lo tanto, debes especificar tu problema antes de solicitar una reunión. Solo si el problema no puede ser solucionado a través del canal de soporte, el equipo de soporte te pedirá conexión remota a través de Asistencia Rápida, Anydesk o TeamViewer
Tiempos de respuesta del servicio
Los tiempos de resolución dependerán del nivel de prioridad de la incidencia, la información entregada y en casos donde se solicite algún desarrollo, del grado de complejidad del mismo.
Es importante que en el primer mensaje entregues toda la información posible para que los agentes puedan entregarte una solución acertada y rápida.
Productos OnPremise
SLA
Tiempos máximos
Primer tiempo de respuesta
30 minutos
Resolución de errores
4 horas
Actualización de componentes
2 días
Creación de un nuevo componente
5 días
Productos SaaS
SLA
Tiempos máximos
Primer tiempo de respuesta
30 minutos
Resolución de errores
7 dias (6 dias a QA – 1 a Producción)
Actualización de componentes
4 días (comando dentro de módulo 1 I+D, 2 QA, 1 Prod.)
Creación de un nuevo componente
10 dias.
Rocketbot hará todos los esfuerzos razonables para responder a las solicitudes, pero no está obligado a respetar los tiempos de respuesta indicados.
Niveles de prioridad
Prioridad 1 (Urgente): Errores en el software o servicios de Rocektbot que impactan severamente producción.
Prioridad 2 (Alta): Errores en el software o servicio de rocketbot que afecte el paso a producción.
Prioridad 3 (Media): Errores que no afecten producción o que no cuenten con una alternativa que permita continuar el flujo de desarrollo del usuario
Prioridad 4 (Baja): Consultas y/o desarrollo de componentes que cuentan con una alternativa que permita al usuario desarrollar su proceso
¿Que información necesitas enviar?
Según corresponda, además de reportar la incidencia debes indicar alguno de los siguientes datos para recibir un soporte efectivo
Rocketbot Studio
Versión de Rocketbot
Nombre y versión del componente
Mensaje de error
Captura de la terminal con el comando y el error visible
Orquestador
Fecha del incidente
Versión del noc
Información de configuración del noc
SaaS
Fecha de Incidente
Producto afectado: Saturn, AiStudio, etc.
Exportable (JSON de AiStudio, JSON de Saturn)
Resumen del Problema y mensajes o captura de error.
Exclusión de soporte
Rocketbot no tiene la obligación de dar soporte sobre los siguientes casos:
Errores presentados en software no desarrollados por rocketbot
Errores ocurridos en versiones anteriores de Rocketbot y que sean corregidos en la actualización
Desarrollo o actualización de scripts en lenguajes de programación
Configuración de ambientes no proporcionados por rocketbot
El incumplimiento por parte del cliente de cualquier configuración requerida, o de seguir las políticas o prácticas pertinentes
Las respuestas a las preguntas en el foro, son respondidas tanto por la comunidad como por Rocketbot. La comunicación no es directa, por lo que los tiempos de respuesta son variables.
¿Como realizar una pregunta?
Escribe una titulo descriptivo y específico del problema: Una pregunta con un buen título no solo mejora las posibilidades de que alguien pueda ayudarte, sino que, también ayuda a otros desarrolladores poder encontrar la solución para el mismo problema.
Usa tags asociados a tu problema: Incluye a tu pregunta todos los tags que se relacionen a tu problema, estos tag pueden ser:
Nombre del comando
Ambiente de desarrollo
Sistema operativo
Versión de Rocketbot
Adjunta captura de pantalla: Es importante que la captura sea tanto del comando como de la terminal de Rocketbot. Si es un proceso en producción, puedes adjuntar el archivo log de la ejecución.
Detalla la pregunta en la descripción: En la descripción de la pregunta, detalla lo más posible tu problema, escribe el comando utilizado, datos contenido en la variable utilizada, versión del comando y de Rocketbot, sistema operativo, entre otros.
Confeccionado por:
Corina Suarez
Versión
v2.0
Fecha de última actualización
29/10/2025
Revisado por:
Nicolas Garcia
Aprobado por:
David Cuello
Codigo:
ROC-SLA-SUPPORT
Requerimientos de Hardware y Software
Los requerimientos siempre dependeran del proceso y de la cantidad de robots/runner en paralelos siendo el minimo 4GB memoria, IntelCore i3 y 10Gb extras.
Como recibir información desde un robot en formularios Xperience
La funcionalidad principal de Xperience es enviar los datos ingresados por el usuario y enviarlos al robot para que utilice esa información, pero algunas veces necesitamos que el robot sea quien envíe información de vuelta al formulario para mostrar información al usuario.
En el formulario
Crear un formulario o ir a un formulario existente
Habilitar la opción Send API
En el menú Javascript, agregar la siguiente librería → xperience.js
En la consola de Javascript agregar lo siguiente
rocket.on('start', (xperience, data) => {
console.log('DATA: ', data) // esta línea te permite ver el resultado en la consola del formulario
//Acá el código inicial, lo que envía el robot la primera vez
})
rocket.on('change', (xperience, res) => {
if (res.success) {
console.log('RES: ',res) // esta línea te permite ver el resultado en la consola del formulario
//Acá la información que estará enviando el robot posteriormente
}
});
En el robot
1. Crear una variable llamada xperience . Esta variable la llenará el comando Get Form queue data del módulo Xperience
2. Utilizar el comando Return Message to Xperience para enviar un mensaje de vuelta al formulario
💡 Puedes enviar cualquier tipo de dato permitido por Rocketbot y este se enviará como un string.
Es importante hacer un JSON.parse desde el formulario al recibir los datos.
result = JSON.parse(res.data.replaceAll("'", '"'));
3. Utilizar el comando Send File to Xperience para enviar un archivo y alojarlo en Xperience
💡 Puedes obtener el archivo mediante postman con el siguiente endpoint de lectura:
GET: /api/form/extraFile/{xperience}/{token}
Siendo {xperience} la variable generada en el punto nro 1, y {token} el resultado del comando
Send File to Xperience
Ejemplo
El ejemplo te permite mostrar una ventana de alerta con los datos retornados desde el robot
💡Para que te funcione el código, tienes que agregar esta url a los CDN: //cdn.jsdelivr.net/npm/sweetalert2@11
rocket.on('change', (xperience, res) => {
if (res.success) {
console.log('RES: ',res) // esta línea te permite ver el resultado en la consola del formulario
if(res.data){
swal.fire({
title: 'Estos son los datos enviados desde el robot ' + res.data,
icon: 'info',
});
}
}else{
swal.fire({
title: 'Ocurrió un error al solicitar datos',
icon: 'error'
});
}
});
Instalación Rocketbot Studio
Descubre en esta guía todos los pasos necesarios para llevar a cabo la instalación de Rocketbot Studio de manera sencilla y eficiente. Desde la descarga hasta la resolución de posibles alertas durante la instalación, te proporcionamos una completa orientación para que puedas comenzar a automatizar tus procesos de manera exitosa.
Windows
Requisitos Previos
Mínimos
Procesador
Intel Core i3-4340 or AMD FX-6300
Almacenamiento
10GB
Memoria
4GB RAM
Recomendados
Procesador
Intel Core i5
Almacenamiento
175GB
Memoria
8GB RAM
Descarga
Ir la página de Rocketbot 👉🏻Descargar Studio, al final de la página debemos clickear el botón Descargar para Windows, fijarse que sea la última versión.
Una vez descargado, descomprimimos el archivo .zip en la ubicación que queramos
Abrir como Administrador el ejecutable llamado rocketbot.exe
Licenciamiento
Veremos 2 opciones, selecciona el tipo de licenciamiento
Get License: Si no cuentas previamente con una licencia de Orquestador, entonces elige esta opción para solicitar la licencia exclusiva de Rocketbot Studio.
Login: Si tu administrador del Orquestador te proporcionó credenciales y token, entonces elige esta opción y úsalos para iniciar Rocketbot Studio.
Get License
Abrirá Rocketbot Studio en nuestro navegador predeterminado con la dirección localhost:5000 y nos indicará que no contamos con una licencia activa, damos click en el botón Close
Nos mostrará un token el cual debemos copiar con el botón rojo ubicado a la derecha
Clickeamos en la palabra aquí la cual nos redirigirá a la página de licencias.
Licencia de Desarrollo:
Debemos completar los datos solicitados y en Ambiente debe estar marcado Desarrollo.
Licencia de Producción:
Debemos completar los datos solicitados y en Ambiente debe estar marcado Producción, esto habilitará 2 opciones más:
Orden de compra: Donde debemos adjuntar el PDF con la OC
CRM Code: Código entregado por tu PAM
Finalmente en la casilla de Token pegaremos el token anteriormente copiado desde Rocketbot Studio y enviamos el formulario.
A la casilla de correo indicada en el formulario, nos llegará la licencia
La copiamos, volvemos a Rocketbot Studio y la pegamos, finalmente damos click en el botón Validar
Nos mostrará un mensaje en la esquina inferior izquierda indicando que el licenciamiento fue exitoso.
Login
Nos mostrará una ventana para introducir las credenciales entregadas por nuestro administrador de Orquestador
Una vez ingresadas, si el login es correcto, nos mostrará el mensaje en la consola de Rocketbot y levantará Studio en nuestro navegador por defecto.
macOS
Requisitos Previos
Debemos tener instalado xcode, si no lo tenemos, lo podemos realizar con la siguiente instrucción desde el Terminal xcode-select --install
Debemos habilitar el Terminal en Privacidad y Seguridad
En versiones anteriores a Ventura, ir a Seguridad y Privacidad → Privacidad → Herramientas para desarrolladores
Desde Ventura en adelante ir a Seguridad y Privacidad→ Herramientas para desarrolladores
Descarga
Ir la página de Rocketbot 👉🏻Descargar Studio, al final de la página debemos clickear el botón Descargar para macOS, fijarse que sea la última versión.
Una vez descargado, descomprimimos el archivo .zip en la ubicación que queramos
Abrir la carpeta y dar doble click en el archivo ejecutable llamado rocketbot
Al dar doble click en el ejecutable, nos mostrará un mensaje de aviso donde indica que no se puede abrir la aplicación ya que no es un desarrollador identificado, damos click en OK para cerrar el aviso y realizar los siguientes pasos
Ir a Preferencias del Sistema → Seguridad y Privacidad
Nos aparecerá el siguiente mensaje, damos click en “Abrir”.
Esto nos abrirá nuestro navegador predeterminado con la dirección localhost:5000, damos click en Close
Licenciamiento
Veremos 2 opciones, selecciona el tipo de licenciamiento
Get License: Si no cuentas previamente con una licencia de Orquestador, entonces elige esta opción para solicitar la licencia exclusiva de Rocketbot Studio.
Login: Si tu administrador del Orquestador te proporcionó credenciales y token, entonces elige esta opción y úsalos para iniciar Rocketbot Studio.
Get License
Abrirá Rocketbot Studio en nuestro navegador predeterminado con la dirección localhost:5000(o el puerto que hayamos configurado en rocketbot.ini) y nos indicará que no contamos con una licencia activa, damos click en el botón Close
Nos mostrará un token el cual debemos copiar con el botón rojo ubicado a la derecha
Clickeamos en la palabra aquíla cual nos redirigirá a la página de licencias.
Licencia de Desarrollo:
Debemos completar los datos solicitados y en Ambiente debe estar marcado Desarrollo.
Licencia de Producción:
Debemos completar los datos solicitados y en Ambiente debe estar marcado Producción, esto habilitará 2 opciones más:
Orden de compra: Donde debemos adjuntar el PD con la OC
CRM Code: Código entregado por tu PAM
Finalmente en la casilla de Token pegaremos el token anteriormente copiado desde Rocketbot Studio y enviamos el formulario.
A la casilla de correo indicada en el formulario, nos llegará la licencia
La copiamos, volvemos a Rocketbot Studio y la pegamos, finalmente damos click en el botón Validar
Nos mostrará un mensaje en la esquina inferior izquierda indicando que el licenciamiento fue exitoso.
Login
Nos mostrará una ventana para introducir las credenciales entregadas por nuestro administrador de Orquestador
Una vez ingresadas, si el login es correcto, nos mostrará el mensaje en la consola de Rocketbot y levantará Studio en nuestro navegador por defecto.
Errores comunes
Si cuando ejecutamos Rocketbot nos arroja alertas de Python o de alguna librería como estos ejemplos:
Debemos cancelar la alerta y dar los permisos de seguridad correspondientes, ir a 👉🏻Activar el Terminal
Si no tenemos la opción de Herramientas para desarrolladores (Developer Tools), debemos abrir una ventana de Terminal y escribir el siguiente comando spctl developer-mode enable-terminal con eso ya nos debe aparecer.
Si al abrir localhost:5000 nos aparece un error de acceso denegado a localhost, debemos cambiar el puerto de Rocketbot
Para cambiar el puerto debemos ir a la carpeta de Rocketbot y abrir el archivo rocketbot.ini
💡Nota: Al cambiar el puerto debemos reiniciar rocketbot para que se vuelva a abrir con el nuevo
Rocketbot Addon: Remote Desktop Helper
Cree un archivo .rdp para conectarse a un Escritorio remoto automáticamente
Un problema común, que suele presentarse al enviar a producción un bot en el servidor de tu cliente, es que el mismo por políticas de IT de la empresa no permite mantener la sesión al desconectarse. Aun cuando se utilice realice la desconexión vía TSCON (Documentación: RPA en Servidores Virtuales – Rocketbot Docs).
Como solución a este inconveniente y para que no sea necesario intervenir manualmente en la apertura del ambiente para que el/los bot/os programados puedan ejecutarse correctamente, se puede crear un nuevo usuario en el mismo ambiente (que no este sujeto a las políticas del ambiente productivo) que solo cumpla la función de ejecutar un archivo .rdp que se conecte al ambiente donde Rocketbot debe ejecutarse de manera programada. Al abrir una sesión mediante RDP se posibilita la ejecución de los bots con normalidad.
Para facilitar la creación de este archivo .rdp Rocketbot creo la herramienta RDP Helper.
Antes de utilizar la herramienta:
Inicie sesión en el escritorio remoto con un usuario con privilegios administrativos.Abra una línea de comando y escriba control userpasswords2
Ventana de Símbolo del sistema con comando para abrir Cuentas de usuario
Abra la pestaña Avanzado y en Administración avanzada de usuarios haga clic en el botón Avanzado.
Ventana Cuentas de usuario
Ventana Cuentas de usuario – Pestaña Avanzado
Seleccione Usuarios, haga clic derecho en el panel central y seleccione Nuevo usuario.
Ventana Usuarios y grupos locales
Complete el formulario con el nombre de usuario y la contraseña y marque la opción La contraseña nunca caduca.
Ventana Nuevo Usuario
Cierre esa ventana y regrese a Cuentas de usuario, abra la pestaña Usuarios, seleccione el usuario creado y haga clic en el botón Propiedades.
Ventana Usuarios y grupos locales – Menú desplegable de usuario
En la ventana Propiedades de usuario, abra la pestaña Miembro de, haga clic en Agregar, luego haga clic en Avanzado.
Ventana Propiedades de <usuario>
Ventana Seleccionar Grupos
Haga clic en Buscar ahora y seleccione Usuario de escritorio remoto.
Ventana Seleccionar Grupos (Avanzado)
Finalmente aplique los cambios.
⚠️Importante: El usuario creado no debe estar bajo las políticas del que tiene la instancia productiva Rocketbot.
Como configurar la herramienta:
Conéctese a la cuenta y abra Rocketbot Studio (No es necesaria una licencia productiva, con una de desarrollador es suficiente).
Abra el complemento Asistente de Escritorio remoto y complete el formulario con los datos necesarios para realizar una Conexión a Escritorio remoto sobre la cuenta que posee el Rocketbot productivo. Una vez completado con lo solicitado:
IP del ambiente
Usuario y Contraseña
Carpeta donde guardar el archivo a crear
Nombre del archivos .rdp que se creara
Modo (Opcional, por defecto será Pantalla Completa, pero puede seleccionarse modo Ventana)
Resolución con la cual abrir el escritorio remoto (800×600; 1024×768; 1920×1080; etc.). Nota: Debe ser la resolución con la cual se desarrollo el bot.
Dar guardar para crear el archivo .rdp.
Cree una tarea automatizada para ejecutar el archivo generado así se abrirá el escritorio remoto para ejecutar los bots en el horario programado sin intervención humana.
Desconéctese de la cuenta creada para ejecutar el archivo .rdp usando TSCON.bat (Documentación)
💡Nota: El usuario donde se ejecutara el archivo .rdp no necesita tener Rocketbot instalado, salvo el caso en que se desee crear el archivo mencionado allí.
Despliegue de Rocketbot en GCP
En esta guía, te explicaremos los pasos para crear una máquina virtual (VM) en Google Cloud Platform (GCP) y montar Rocketbot Studio para ejecutar robots.
Arquitectura recomendada.
Crear y administrar VM de Windows Server
Compute Engine proporciona imágenes públicas con Windows Server que puedes usar para crear instancias.
Nota: Si no planeas conservar los recursos que creaste durante este procedimiento, crea un proyecto en lugar de seleccionar uno existente. Cuando termines, puedes borrar el proyecto y quitar todos los recursos asociados con él.
En la sección Disco de arranque, haz clic en Cambiar para comenzar a configurar el disco de arranque.
En la pestaña Public images, selecciona Windows Server en la lista Sistema operativo.
Elige Windows Server 2019 Datacenter en la lista Versión.
Haz clic en Seleccionar.
En la sección Firewall, selecciona Permitir tráfico HTTP.
Para crear la VM, haz clic en Crear.
Espera un momento hasta que se inicie la instancia de VM. Una vez que la instancia esté lista, se mostrará en la página Instancias de VM con un ícono de estado verde.
Asegúrate de que la VM permita el acceso a través del protocolo de escritorio remoto (RDP). De forma predeterminada, Compute Engine crea reglas de firewall que permiten el acceso RDP en el puerto TCP 3389. Para verificar que estas reglas de firewall existan, visita la página de reglas de firewall en la consola de Google Cloud y busca las reglas de firewall que permitan conexiones tcp:3389.
Conéctate a VM de Windows mediante RDP
Compute Engine admite varias formas de conectarte a tus instancias de Windows.
La mejor manera de conectarse al escritorio remoto de una instancia de Windows depende de varios factores:
Si te conectas desde cualquier lugar de la Internet pública (Conectar desde > Cualquier de la ilustración anterior), es mejor habilitar la redirección de TCP de Identity-Aware Proxy para tu proyecto. Luego, usa IAP Desktop (en Windows) o la CLI de Google Cloud junto con un cliente RDP. Si deseas obtener más información, consulta Clientes de escritorio remoto de Microsoft para conectarte a la instancia de Windows. Si no puedes usar el reenvío de TCP de Identity-Aware Proxy, usa el Escritorio remoto de Chrome.
Si la instancia de VM tiene una dirección IP pública y las reglas de firewall permiten el acceso de RDP, usa un cliente de RDP. Si deseas obtener más información, consulta Clientes de escritorio remoto de Microsoft para conectarte a la instancia de Windows.
Si tienes dificultades para conectarte mediante RDP, consulta Solución de problemas de RDP. Si no puedes conectarte a una instancia de Windows mediante el escritorio remoto, consulta Conéctate a la SAC de Windows en este documento.
Para conectarte al escritorio remoto de una instancia de Windows, usa uno de los siguientes procedimientos.
Puedes usar la app de Conexión a Escritorio remoto de Microsoft que forma parte de Windows para conectarte a instancias de Windows.
Antes de conectarte mediante la app de Conexión a Escritorio remoto de Microsoft, asegúrate de que se cumpla uno de los siguientes requisitos previos:
Tu instancia de VM tiene una dirección IP pública, y tus reglas de firewall permiten el tráfico de entrada de TCP desde la dirección IP pública de tu cliente hacia la instancia mediante el puerto 3389.
Tu red local está conectada a tu VPC mediante Cloud VPN o Cloud Interconnect, y las reglas de firewall permiten el tráfico de entrada de TCP de la dirección IP privada de tu cliente a la instancia mediante el puerto 3389.
Para conectarte con el Escritorio remoto de Microsoft Windows, sigue estos pasos:
Con la CLI de gcloud, ejecuta gcloud compute instances list:
gcloud compute instances list
Abre la Conexión a Escritorio remoto de Microsoft Windows en tu máquina con Windows. Puedes encontrar el archivo ejecutable en %systemroot%\\system32\\mstsc.exe
En el cuadro Computer, ingresa la dirección IP.
Si configuraste la instancia con el fin de que use un número de puerto diferente para RDP, agrega ese número después de la dirección IP, por ejemplo: 1.2.3.4:3389.
Haz clic en Conectar (Connect).
Ingresa tu nombre de usuario y contraseña, y haz clic en Aceptar.
Elija descargar y seleccione la version de Rocketbot para Windows.
Descargue y descomprima el ZIP en un carpeta dentro de la maquina donde ejecutará Rocketbot. por ejemplo: C:\\rocketbot
Ingrese a la carpeta de Rocketbot y ejecute la aplicacion rocketbot.exe
Se abrira el navegador por defecto en el puerto 5000 (configurable) y le pedirá una licencia.
Copie el Token y complete los datos en la pagina de licencias
Recibirá en su correo la licencia. Pegue el código en Rocketbot Studio y comience a programar robots.
Consideraciones y TIPs
Rocketbot Studio/Runner requiere una sesion activa y desktop activo.
Mantener interfaz al desconectarse del servidor
Para evitar estos problemas, los servidores windows cuentan con un comando llamado tscon.exe que permite tomar la sesión que tienes abierta en el servidor y moverla a la consola, de esta manera tu robot tendrá una interfaz donde trabajar luego de desconectarte del servidor.
En las pestañas Desconectarme y ejecutar una tarea o Desconectarme y ejecutar ROC de la aplicación RDP-Rocketbot puedes crear un archivo bat con el comando tscon. Este archivo debes ejecutarlo como administrador cada vez que quieras desconectarte del servidor (o ejecutar tu robot, según la opción elegida) y te desconectará del servidor y mantendrá la interfaz gráfica.
Cuidado! Al no abrir el escritorio remoto desde una pantalla física, la resolución puede cambiar y ser menor. Revisa la sección tres para ver como trabajar con esto.
El bat puedes editarlo y revisar que es lo que contiene, pero resumimos lo importante acá. El bat tiene un script de powershell que obtiene el id de la sesión que estas usando al entrar al rdp y la utiliza en el comando tscon para que este la abra en la sesión de la consola.
Mantener la interfaz al minimizar el escritorio remoto
Para poder minimizar el escritorio remoto y no afectar el funcionamiento del robot, debes modificar algunos registros en la máquina que abre el rdp, estos registros son:
Para el usuario actual:
HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client (32 bit)
HKEY_CURRENT_USER\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)
Para todos los usuarios:
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Terminal Server Client (32 bit)
HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)
En la pestaña Conectarme a Escritorio Remoto de la aplicación RDP-Rocketbot, puedes cambiar los registros con un solo botón. Solo recuerda ejecutar la aplicación como administrador.
Cambio de resolución al desconectarte del servidor
Si ya solucionaste los problemas anteriores, pero tu robot falla y/o aún no reconoce las imagenes, es probable que tengas un problema con la resolución. Ya mencionamos en la primera parte de este post que al desconectarte el servidor pierde la interfaz gráfica y es necesario utilizar tscon. Esto permite que el robot pueda sacar capturas, pero como el servidor ya no cuenta con tu pantalla para ajustar una resolución, toma sus propias resoluciones por defecto, que en la mayoría de los casos es de 1024×768.
Si tu robot trabaja con virtualización, este cambio de resolución puede afectarlo, por lo cual es importante que, antes de comenzar a desarrollar tu robot, revises las resoluciones que permite tu servidor al desconectarte.
En la pestaña Ver las resoluciones de pantalla de la aplicación RDP-Rocektbot, puedes ver las resoluciones que permite el servidor en la tabla Resolucoones de pantalla desde la consola de TSCON.
Esas resoluciones son las resoluciones que puedes utilizar, pero no quiere decir que puedes comenzar a construir el robot. Debes revisar la resolución que tiene el servidor al desconectarte y si es posible cambia a la resolución que necesitas. Para cambiar la resolución de pantalla, puedes utilizar el módulo Windows y también puedes utilizar el comando Sacar captura de pantalla de la sección Desktop para válidar si la resolución es la correcta o no.
Ésto lo puedes realizar con RDP-Helper, acá encontrarás los pasos necesarios 👉 Pasos Resolución
Si al salir de un escritorio remoto no es posible modificar la resolución de forma manual y/o usando el módulo de Rocketbot, puedes modificar realizar la siguiente modificación:
Buscar en el regedit todos los registros que se llamen DefaultSettings_XResolution y DefaultSettings_YResolution y cambiar la resolución a la que necesitas
Prevenir el bloqueo de pantalla
Para evitar que el servidor bloquee la pantalla debes, en primer lugar, consultar con el equipo de TI si es posible modificar las configuraciones necesarias para que esto no ocurra, ya que dependiendo de las politicas de seguridad de la empresa, podría no ser posible modificar esta configuración.
En la sección Configuraciones de la aplicación RDP-Rocketbot, puedes modificar los registros necesarios para deshabilitar el bloqueo de pantalla. El registro que se modificará es HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
For Windows 7/Windows 10/Windows Server 2012 and above:
Press + and type gpedit.msc
Windows+R
Navigate the tree view on the left to Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Session Time Limits
Adjust the four settings as desired (I believe you want to adjust Set time limit for disconnected sessions and Terminate session when time limits are reached)
Habilitar Pantallas Virtuales
💡 Si experimentas problemas con la resolución de la VM, consulta la siguiente documentación al respecto.
En algunos casos, la VM solo permitía una resolución muy baja por defecto. Siguiendo la documentación indicada y asegurándonos de apagar la VM antes de activar la casilla de configuración, logramos establecer una resolución adecuada para el proceso requerido.
Conectar con Orquestador
Para conectar con el Orquestador de Rocketbot debe contar con una cuenta habilitada de Rocketbot Orchestrator Center. En la VM de GCP tiene que tener habilitado el acceso a las web *.myrb.io y *.rocketbot.com esto permitirá al cliente de orquestador NOC conectarse con las url de api de orquestador.
INSTALACIÓN Y CONFIGURACIÓN CLIENTE ORQUESTADOR
Descargar cliente desde el orquestador: Haga click en el boton del menu superior del orquestod “ROC Client” para descargar el ZIP con el cliente.
Descomprima noc.zip en una carpeta donde tenga permisos de escritura, no se recomienda que sea en la carpeta personal o desktop. Recomendacion : C:\\rocketbot\\noc
Configurar archivo noc.ini con: a. Credenciales de usuario con un ROL con permisos limitados b. Key de instancia: Ingrese al proceso dentro del proyecto, una vez adicionado una instancia le mostrará una Key c. Url de orquestador, ej: https://roc.myrb.io/s4 (sin / final) d. Ruta de instalación de Rocketbot, incluyendo ejecutable. por ejemplo c:\\rocketbot
Ejecute noc.exe y el cliente de orquestador mostrara que la instancia está conectada.
Server con Múltiples Usuarios
La duda recurrente es “¿Cómo es el licenciamiento en una máquina donde acceden múltiples usuarios al mismo tiempo?”.
Para este caso tenemos 3 opciones.
Opción 1:
Primero debemos revisar si dejando Rocketbot Studio en la raíz, pueden acceder todos los usuarios y utilizarlo, si es así, entonces sería 1 Licencia con X cantidad de ejecuciones en paralelo (la cantidad según el número de usuarios que se conectarán)
Opción 2:
Si no permite acceder a cada usuario a Rocketbot Studio instalado en la raíz (Opción 1), entonces debe ser una licencia por cada ambiente de usuario.
Opción 3:
Con la licencia Online se puede conectar cada usuario en cualquier máquina con Rocketbot Studio instalado, siempre y cuando tenga disponible la cantidad de conexiones necesarias.