Está en la página 1de 157

Manual de Comandos y Buenas Prácticas

Manual de Comandos y Buenas Prácticas 0


Robot 1
Buenas prácticas 1
Descripción en Comandos 1
Nombre del Robot 1
Variables 2
Nombre de Variables 2
Limpiar Variables 2
Reglas de Variable 3
Variables heredadas Padre-Hijo 5
Credenciales 6
Validaciones 7
Cerrar Procesos 9
Web 10
Abrir navegador 10
Buenas prácticas 10
Error común 11
Cerrar Navegador 12
Buenas prácticas 12
Abrir una URL 13
Javascript 14
Inyectar librería JS 14
Ejecutar archivo JS 16
Ejecuta JS 18
Cambiar a IFRAME 22
Cambiar a Contenido por defecto 25
Seleccionar un objeto 26
Extraer texto 27
Extraer tabla 29
Obtener el valor de input 31
Obtener imagen de objeto 32
Enviar Texto Web 34
Click en objeto 35
Obtener código HTML 36
Control de ventanas 37
Contar ventanas 37
Cerrar ventana 38
Obtener handle de ventana 40
Obtener título de ventana 41
Cambiar a ventana 42
Buenas prácticas 43
Cambiar de navegador 44
Maximizar 45
Minimizar 46
Esperar Por Objeto 47
Buenas prácticas 48
Sistema 50
Esperar 50
Asignar Variable 51
Último estado. 52
Ingreso de Información Web 53
Ejecutar aplicación. 54
Scripts 55
Ejecutar archivo Python 55
Execute Python 56
Ejecutar JSON Rocketbot 57
Buena práctica 57
Ejecuta otro script RocketBot 58
Buenas prácticas 59
Retornar Información 63
Detener este robot 65
Detener todo y salir 66
Desktop 67
Mover Mouse 67
Buena práctica 67
Mouse Srcoll 68
Obtener Coordenadas del Mouse 69
Mouse Click 70
Buena práctica 70
Alerta 71
Notificación. 72
Captura de pantalla. 73
Enviar Tecla 74
Buenas prácticas 74
Lógica 75
IF 76
Buenas prácticas 76
While 78
Buenas prácticas 78
Break 79
For 80
Try Catch 81
Archivos 82
Guardar texto en archivo 82
Control de archivos 83
Mover o renombrar archivo 83
Copiar Archivo 84
Borrar archivo 85
Listar archivos 86
Listar carpetas 87
Enviar a papelera 88
Compresión de archivos 89
Comprimir un archivo o una carpeta en un ZIP 89
Descomprimir ZIP 90
PDF 91
Extraer texto de PDF 91
Convertir imagen a PDF 92
Agregar imagen a PDF 93
XLSX 94
Nuevo xlsx 94
Buenas prácticas 95
Abrir xlsx 96
Buenas prácticas 96
Guardar xlsx 97
Obtener Hojas 98
Cambiar de Hoja 99
Cambiar de Archivo 100
Contar Filas 101
Buenas prácticas 101
Contar Columnas 102
Obtener celda 103
Buenas prácticas 103
Escribir Celda 104
Virtualización 105
Click en Imagen 106
Buscar por Imagen 109
Buenas prácticas 109
OCR a imagen 110
Esperar por imagen 111
Buenas prácticas 111
Tips 111
Windows 112
macOS 118
MySQL 120
Configurar conexión Mysql 120
Buenas prácticas 120
Consulta MySQL 121
Buenas prácticas 121
Email 121
SMTP - IMAP 122
Configurar servidor 122
Buenas prácticas 122
Enviar Email SMTP 124
Listar todos los email IMAP 125
Listar email nuevos IMAP 127
Leer email por ID IMAP 128
Conexión HTTP 129
Conectar url GET 129
Conectar URL avanzado 130
Integración con Aplicaciones 132
Excel 132
Nuevo Libro 132
Buenas prácticas 133
Abrir archivo 134
Buenas prácticas 134
Guardar Archivo 135
Buenas prácticas 135
Exportar a PDF 136
Obtener Hojas 136
Cambiar de Hoja 138
Cambiar de Archivo 139
Contar Filas 140
Buenas prácticas 140
Obtener celda 141
Buenas prácticas 141
Ejecutar Macro 142
Exportar gráfico. 143
Escribir Celda 144
Cerrar Excel 145
Buenas prácticas 145
Logs en Rocketbot 146
Estructura de Logs de Rocketbot 146
Visualizar errores en Rocketbot 147
Recomendaciones para generar Logs. 148
Robots en Paralelo 149
Escritorio Remoto 151
Buenas prácticas 151
Manual de Comandos y Buenas Prácticas

Robot

Buenas prácticas

Descripción en Comandos
Agregar descripciones en los comandos nos ayuda a comprender cuál es la acción
específica que este realiza, lo que es de suma importancia a la hora de modificar un
robot, ya sea para cambiar funcionalidades o identificar posibles errores.

Nombre del Robot


Nunca utilizar espacios, ñ, ni caracteres especiales en el nombre del robot, si el nombre
fuera compuesto por varias palabras puede utilizarse el siguiente formato: snake_case,
camelCase o PascalCase.

Documentación de Rocketbot Studio 1


Manual de Comandos y Buenas Prácticas

Variables

Nombre de Variables
En la definición de variables nunca se deben utilizar espacios, ñ, o caracteres especiales,
en caso de utilizar palabras compuestas se pueden utilizar guiones bajos o comenzar la
siguiente palabra con Mayúscula como por ejemplo: snake_case, camelCase o
PascalCase.

Limpiar Variables
Es buena práctica limpiar las variables que no requieren valores fijos, al principio de
nuestro bot, es recomendable utilizar el comando “Limpiar Variable(s)” del módulo
System++, ya que si limpiamos una por una tendremos un comando por cada variable, lo
que se pueden reducir a sólo uno con la siguiente instrucción:

Documentación de Rocketbot Studio 2


Manual de Comandos y Buenas Prácticas

Reglas de Variable
String
Cuando queremos trabajar con variables de tipo String en Rocketbot, debemos pasarlas
a comillas dobles, ejemplo.

● Tenemos una variable llamada {texto} la cual contiene lo siguiente:

Si queremos por ejemplo modificar parte del texto, podemos utilizar el método de string1
llamado replace(), en este caso si solo pasamos la variable, nos arrojará un error de
sintaxis:

Debemos indicar que la variable {texto} la trabaje como un string, y para eso debemos
pasarla entre comillas dobles “{texto}”.

Si además nuestra variable es un string pero contiene saltos de líneas, entonces


debemos pasarla entre triple comillas dobles y espacios “”” {texto} “””, esto permite que
nuestra cadena de texto utilice más de una línea, por ejemplo, ahora nuestra variable
{texto} se ve de la siguiente forma:

1
Revisar métodos de string

Documentación de Rocketbot Studio 3


Manual de Comandos y Buenas Prácticas

Si volvemos a ejecutar el comando anterior, nos arrojará un error:

Al pasarla a triple comilla doble y espacios, ejecutará el método sin problema:

Documentación de Rocketbot Studio 4


Manual de Comandos y Buenas Prácticas

Variables heredadas Padre-Hijo

Las variables del PADRE pueden ser utilizadas por todos los robots de la imagen, el
HIJO1 por ejemplo, no puede utilizar las variables de sus hermanos (HIJO2-HIJO3), el
NIETO1 puede usar las variables del PADRE y del HIJO1, pero no las del HIJO2 - HIJO3

Documentación de Rocketbot Studio 5


Manual de Comandos y Buenas Prácticas

Credenciales
Como buena práctica es importante utilizar un baúl de credenciales para obtener los
datos y no dejarlos fijos.

Si tenemos Mac o Linux, podemos utilizar el siguiente módulo Credentials_, si estamos en


Windows, debemos usar el siguiente: Windows Credential Manager.

Podemos encontrar más información acerca de cómo realizarlo, en la documentación de


los manuales linkeados arriba.

Documentación de Rocketbot Studio 6


Manual de Comandos y Buenas Prácticas

Validaciones

Se deben validar todos los comandos y/o módulos que lo permitan, por ejemplo si es una
conexión a una BD, Correo, FTP, Abrir un Archivo, etc. se debe retornar a una variable y
tomar una decisión con un IF.

Esto nos permite poder controlar errores y tomar una decisión para que el robot no
continúe ejecutándose cuando faltan partes del proceso o cuando no se realizó algo de
forma correcta.

Ejemplo:

Crear un archivo excel y validar su correcta creación, si está ok, entonces se escribe en el
archivo, sino, se deja un mensaje en el log y se detiene el robot.

Documentación de Rocketbot Studio 7


Manual de Comandos y Buenas Prácticas

Luego realizamos el guardado del archivo, y se valida, si se guardó de forma correcta,


entonces cerramos la aplicación, sino, se deja un mensaje en el log y se detiene el robot.

Documentación de Rocketbot Studio 8


Manual de Comandos y Buenas Prácticas

Cerrar Procesos

Todos los comandos y/o módulos que permitan cerrar conexiones, se deben agregar al
proceso, por ejemplo, cerrar una conexión a una BD, a un FTP, Correo, Cerrar un archivo
Excel, XML, etc.

Es necesario siempre cerrar todo lo que se abre con Rocketbot, ya que esto nos permite
liberar recursos y evitar errores de ejecución, si el comando o módulo no permite cerrar la
conexión o los procesos no son cerrados de forma correcta, se pueden utilizar los
módulos killProcess y/o killApp para terminar de matar procesos zombies.

Ejemplo de un error:

Problema
No se realizó la ejecución de bots desde el Orquestador dado que un proceso no finalizó.

Causa
No llega la respuesta de proceso finalizado al Orquestador. Esto ocurre cuando se
trabaja con un proceso que queda en segundo plano o no finaliza al terminar el robot.
Por ejemplo, abrir alguna aplicación.

Solución
Agregar el comando killProcess y/o killApp al final del flujo para que cierre cualquier
proceso zombie que pudiera estar activo e impida notificar al Orquestador el término del
proceso.

Documentación de Rocketbot Studio 9


Manual de Comandos y Buenas Prácticas

Web

Abrir navegador

Opciones:
● Selecciona navegador: Chrome/Firefox/IE
● URL de Servidor: Indicar la url de la página a la cual queremos acceder (Si
no se elige ninguna abre por defecto https://www.google.com). Admite
variables
● Modo de Apertura: Síncrona/Asíncrona.

Sincrónico es el método normal de apertura, el cual espera para continuar con los
comandos, no se debe cambiar.

Buenas prácticas
Es óptimo agregar la url en una variable, pensando en escalabilidad, si en algún
momento se requiere que la variable sea dinámica o si necesita cambiar, lo ideal es que
Rocketbot lea algún archivo de configuración y setear el valor a la variable para no estar
abriendo y modificando el robot.

Documentación de Rocketbot Studio 10


Manual de Comandos y Buenas Prácticas

Error común
Los navegadores son controlados por web drivers, estos se encuentran dentro de la
carpeta Rocketbot/drivers/{sistema operativo}/{browser}, los mismos deben ser
actualizados si se actualiza la versión del navegador y el robot comienza a presentar
problemas.

Los drivers los puedes encontrar en https://www.seleniumhq.org/download/

Error de driver al intentar abrir navegador, esto sucede cuando el navegador se


actualiza, para solucionarlo se debe actualizar el driver según la versión del browser.

Chrome: https://chromedriver.chromium.org/downloads
Mozilla: https://github.com/mozilla/geckodriver/releases/tag/v0.29.0

Descargar y descomprimir el driver, copiar el archivo en la siguiente ruta:

Rocketbot/drivers/{sistema operativo}/{browser}

Ej: Rocketbot/drivers/win/chrome

Documentación de Rocketbot Studio 11


Manual de Comandos y Buenas Prácticas

Cerrar Navegador
Nos permite cerrar el navegador abierto con Rocketbot, cierra todo incluyendo las
pestañas abiertas.

Buenas prácticas
Siempre que realicemos un robot de tipo Web, y ya no necesitemos utilizar más el
navegador, debemos agregar el comando Cerrar Navegador, ya que esto además de
cerrar el Browser, mata el proceso del driver abierto con Rocketbot. El cual se abre en
cada ejecución, por lo que si no se mata y se acumulan demasiados, podría consumir
bastante recurso de la máquina.

**Todo lo que se abre con Rocketbot, es óptimo que se cierre al final del proceso o
cuando ya no se utilice más, ej: navegador, conexión a BD, conexión a email, Excel, etc.

Documentación de Rocketbot Studio 12


Manual de Comandos y Buenas Prácticas

Abrir una URL


Se debe utilizar cuando ya realizamos todas las acciones en la página que se abrió con
el comando “Abrir Navegador” y necesitamos cambiar a otra página. Esto redireccionará
la actual pestaña a la nueva URL indicada.

Documentación de Rocketbot Studio 13


Manual de Comandos y Buenas Prácticas

Javascript

Inyectar librería JS
Inyecta el código Javascript de una librería a partir de su URL, en el documento actual o
IFRAME si se encuentra dentro del IFRAME.

Por ejemplo, si accedemos a una página, en este caso google.com, y necesitamos utilizar
la librería moment.js, podemos comprobar en la consola del navegador si la tiene o no.
En este caso no está:

buscamos el cdn de la librería y copiamos su URL

Documentación de Rocketbot Studio 14


Manual de Comandos y Buenas Prácticas

Lo pegamos en el comando y ejecutamos

Si volvemos a ejecutar moment en la página, veremos que ahora si nos responde:

Documentación de Rocketbot Studio 15


Manual de Comandos y Buenas Prácticas

Ejecutar archivo JS
Inyecta el código Javascript de un archivo guardado en su equipo, lo inyectará en el
documento actual o IFRAME si se encuentra dentro del IFRAME.

Al igual que en el ejemplo anterior, intentamos utilizar moment.js en la página de Google,


obteniendo el siguiente error:

Buscamos el archivo JS y ejecutamos el comando

Documentación de Rocketbot Studio 16


Manual de Comandos y Buenas Prácticas

Intentamos utilizar la misma instrucción y ahora podemos ver que si la reconoce:

Documentación de Rocketbot Studio 17


Manual de Comandos y Buenas Prácticas

Ejecuta JS
Podemos ejecutar código JS directamente desde Rocketbot, a través de la mini consola.
Por ejemplo si queremos enviar un valor a un input, podemos utilizar un identificador del
mismo (en este ejemplo el identificador es un ID llamado empresa) y enviarlo de esta
forma:

Documentación de Rocketbot Studio 18


Manual de Comandos y Buenas Prácticas

Si necesitamos obtener un resultado desde la página hacia Rocketbot, debemos utilizar


el return y asociar la respuesta a una variable.

Por ejemplo acá requerimos obtener el Nombre del artículo, al inspeccionar vemos que
tiene una clase, la cual utilizaremos.

Documentación de Rocketbot Studio 19


Manual de Comandos y Buenas Prácticas

De esta forma y con innerText estamos obteniendo el texto y asignándolo a la variable


{titulo}

Obtendremos el texto de esta forma:

Documentación de Rocketbot Studio 20


Manual de Comandos y Buenas Prácticas

Importante: Para utilizar esta variable como STRING se debe utilizar {variable}.decode()
o {variable}.decode(‘latin-1’) en el comando Asignar Variable.

Quedará de esta forma y ya podemos utilizar la información correctamente:

Documentación de Rocketbot Studio 21


Manual de Comandos y Buenas Prácticas

Cambiar a IFRAME
Mueve el focus al IFRAME seleccionado. Ahora todos los comandos JS o acceso a objetos
web tomará como referencia el IFRAME seleccionado.

En este ejemplo requerimos realizar un click en el input empresa:

pero nos arroja el siguiente error:

Nos indica que no encuentra el elemento, uno de los errores más comunes es que se
encuentre dentro de un iframe, por lo que debemos buscar si el elemento está dentro de
alguna etiqueta <iframe>

Documentación de Rocketbot Studio 22


Manual de Comandos y Buenas Prácticas

Vemos que el input está dentro de un IFRAME, por lo que debemos utilizar el comando
indicando algún identificador del mismo, en este caso usaremos el ID.

Documentación de Rocketbot Studio 23


Manual de Comandos y Buenas Prácticas

Este comando debe ir antes de que interactuemos con el elemento, al ejecutarlo


dejaremos en foco este IFRAME y luego al ejecutar el click ya funcionará correctamente.

Documentación de Rocketbot Studio 24


Manual de Comandos y Buenas Prácticas

Cambiar a Contenido por defecto


Mueve el focus al cuerpo del documento. Ahora todos los comandos JS o acceso a
objetos web tomará como referencia el cuerpo de la página.

Siguiendo con el ejemplo anterior, si ahora requerimos volver el foco a la página por
defecto y salir del IFRAME, debemos utilizar el comando.

Documentación de Rocketbot Studio 25


Manual de Comandos y Buenas Prácticas

Seleccionar un objeto
Selecciona un elemento al cual queremos enviar eventos de teclado a través del
comando “Enviar texto Web”. Por ejemplo acá necesitamos seleccionar el País “Chile”,
vemos que tiene un ID, por lo cual lo utilizaremos en el comando.

Al ejecutarlo no veremos que se marca el input en la web, pero al enviar el texto con
“Enviar Texto Web” seleccionará la opción requerida.

Documentación de Rocketbot Studio 26


Manual de Comandos y Buenas Prácticas

Extraer texto
Podemos extraer el texto de un elemento, por ejemplo: <div>, <span>, <p>, <a>, etc, y
retornarlo a una variable.

**Para obtener el texto de un input, se debe utilizar el comando “Obtener el valor de


input”

En este caso necesitamos extraer el texto de la búsqueda, al inspeccionar el elemento,


vemos que tiene una etiqueta <span>.

Documentación de Rocketbot Studio 27


Manual de Comandos y Buenas Prácticas

Obtenemos su xPath e ingresamos la información al comando, enviando el resultado a


una variable, por ejemplo {texto}.

Al ejecutar y revisar nuestra variable, veremos el texto extraído:

Documentación de Rocketbot Studio 28


Manual de Comandos y Buenas Prácticas

Extraer tabla
Podemos extraer la información de una tabla con la etiqueta <table> y guardarla en una
variable, se obtendrá como una lista (array). Inspeccionamos y buscamos la etiqueta
<table>, obtenemos algún identificador y lo ingresamos en el comando.

Opcional: Podemos codificar los elementos del array e indicar el tipo de codificación:

Documentación de Rocketbot Studio 29


Manual de Comandos y Buenas Prácticas

Al ejecutar y revisar nuestra variable, veremos la tabla extraída:

Tip:

Nos traerá la información como una lista de listas, si la quisiéramos pasar a un Excel
(comandos de Integración con aplicaciones) nos podría arrojar un error si los ítems no
tienen el mismo largo, por ejemplo vemos que la lista donde se encuentra el mes “Mayo”
solo tiene un valor en comparación con las demás listas que tienen 6. Se podría por
ejemplo separar la información, dejando en una variable el mes y en otra solo los valores,
de esta forma:

Documentación de Rocketbot Studio 30


Manual de Comandos y Buenas Prácticas

Obtener el valor de input


Podemos obtener el valor de un input, puede ser de la etiqueta <input type=”text”> o
<textarea> y lo almacena en una variable.
Por ejemplo, en este caso tenemos un formulario con información pre cargada

inspeccionamos y obtendremos el identificador del input para extraer su información.

Ingresamos la información en el comando y ejecutamos:


Revisamos la variable y veremos el valor extraído:

Documentación de Rocketbot Studio 31


Manual de Comandos y Buenas Prácticas

Obtener imagen de objeto


Extrae una captura de pantalla del objeto según una referencia, manteniendo su tamaño
original.

Este comando fue ideado para obtener capturas de captchas y poder resolverlos por
medio de librerías externas.

**Considerar tener la resolución de pantalla y el navegador al 100%

En esta página tenemos una imagen, la cual necesitaríamos obtener para luego poder
resolver el captcha.

Inspeccionamos y obtenemos el identificador de la imagen, lo ingresamos al comando y


ejecutamos.

Documentación de Rocketbot Studio 32


Manual de Comandos y Buenas Prácticas

Con esto obtendremos la imagen descargada en la ruta indicada:

Con esa imagen ya podemos utilizar por ejemplo el módulo 2Captcha para poder
resolverlo.

Documentación de Rocketbot Studio 33


Manual de Comandos y Buenas Prácticas

Enviar Texto Web


Este comando solo acepta una opción, si se escribe un texto (o una variable con texto) no
se puede agregar una tecla especial al mismo tiempo, o no funcionará. Al revés lo mismo,
si queremos enviar una tecla especial, no podemos también pasar un texto, en ese caso
se debe repetir el comando, de esta forma:

Texto

Tecla Especial

Documentación de Rocketbot Studio 34


Manual de Comandos y Buenas Prácticas

Click en objeto
Nos permite clickear un objeto en el documento actual, enviando el click izquierdo del
mouse.
Si se requiere realizar un click a un elemento que esté dentro de un IFRAME, se debe
utilizar el comando Cambiar a IFRAME.

En este ejemplo queremos clickear el input Empresa, obtenemos un identificador, en este


caso el ID.

Lo agregamos al comando y ejecutamos, esto dejará el input en foco.

Documentación de Rocketbot Studio 35


Manual de Comandos y Buenas Prácticas

Obtener código HTML


Nos permite obtener el código HTML de la ventana actual del navegador activo abierto
por Rocketbot, y almacenar el resultado en una variable.

Nos entregará un resultado como este:

Documentación de Rocketbot Studio 36


Manual de Comandos y Buenas Prácticas

Control de ventanas

Contar ventanas
Nos permite contar la cantidad de ventanas (pestañas) abiertas en el navegador de
Rocketbot y almacenar el resultado en una variable.

En este caso tenemos dos pestañas:

Agregamos la variable donde queremos retornar el resultado:

Nos entregará lo siguiente:

Documentación de Rocketbot Studio 37


Manual de Comandos y Buenas Prácticas

Cerrar ventana
Nos permite cerrar una ventana (pestaña) del navegador de Rocketbot, a través de su
nombre o con la opción “last”, lo cual cerrará la última ventana abierta.

Siguiendo con el ejemplo anterior, para cerrarla podemos indicar el nombre:

Quedando así:

Documentación de Rocketbot Studio 38


Manual de Comandos y Buenas Prácticas

O con la opción “last” para la última ventana:

Quedando así:

Documentación de Rocketbot Studio 39


Manual de Comandos y Buenas Prácticas

Obtener handle de ventana


Obtiene el handle de la ventana (pestaña) activa abierta por Rocketbot y lo almacena en
una variable.

**Considerar que el handle es variable, al volver a entrar éste cambiará.

Obtendremos algo como esto:

Documentación de Rocketbot Studio 40


Manual de Comandos y Buenas Prácticas

Obtener título de ventana


Obtiene el título de la ventana activa del navegador abierto por Rocketbot y lo guarda en
una variable.

Obtendremos algo como esto:

Documentación de Rocketbot Studio 41


Manual de Comandos y Buenas Prácticas

Cambiar a ventana
Cuando la página que estamos controlando abre otra ventana (al clickar un botón,
enlace, etc.) este comando nos permite cambiarnos a la nueva pestaña y dejarla en foco
para poder trabajar con los elementos.

En este ejemplo tenemos en foco la primera pestaña (google),

si queremos hacer un click en la página de Rocketbot (pestaña 2), por ejemplo al botón
Descargar, obtendremos un error como este, donde nos indica que no se encuentra el
elemento.

Debemos entonces primero cambiarnos de ventana y una vez quede en foco ya


podremos realizar el click. Podemos cambiarnos indicando el handle o una de las
siguientes opciones las cuales indican la posición de las pestañas abiertas:

Documentación de Rocketbot Studio 42


Manual de Comandos y Buenas Prácticas

Secuencia:

Buenas prácticas
Cada vez que nos cambiamos a otra ventana debemos utilizar el comando Esperar por
Objeto con su respectivo IF de validación, ya que estamos ingresando a otra página y
debemos asegurarnos de que cargó correctamente.

Documentación de Rocketbot Studio 43


Manual de Comandos y Buenas Prácticas

Cambiar de navegador
Nos permite cambiarnos a otro navegador abierto con Rocketbot, para poder utilizarlo,
cuando abrimos el navegador debemos indicar un identificador en la pestaña “Extra”.

Luego para poder dejar el otro navegador en foco y poder controlarlo, debemos indicar el
identificador en el comando:

Documentación de Rocketbot Studio 44


Manual de Comandos y Buenas Prácticas

Maximizar
Nos permite maximizar la ventana del navegador abierto por Rocketbot.

No contiene ninguna opción, solo se debe agregar:

Documentación de Rocketbot Studio 45


Manual de Comandos y Buenas Prácticas

Minimizar
Nos permite minimizar la ventana del navegador abierto por Rocketbot.

No contiene ninguna opción, solo se debe agregar:

Documentación de Rocketbot Studio 46


Manual de Comandos y Buenas Prácticas

Esperar Por Objeto


Este comando permite esperar por un elemento en la web, dándole segundos máximos
de espera hasta que nos retorna una respuesta (True o False, si lo encontró o no
respectivamente). Se debe utilizar siempre que abrimos el navegador para confirmar si la
página realmente cargó, también cuando clickeamos algún enlace o botón y nos abre
otra pestaña, en general siempre que “cambiemos” de página, para así validar que cargó
y los elementos ya existen.

Opciones:

● Dato a buscar: Valor del identificador del elemento.


● Tipo de dato: Tipo de identificador del elemento.
● Esperar Antes: Cantidad de segundos antes de que el comando “Esperar por
Objeto” se ejecute. Es una espera fija, la cantidad de segundos que definamos se
respetarán si o si, por lo cual se recomienda que sean tiempos bajos, ojalá no más
de 2-5 segundos.
● Acción Esperar máx: Cantidad de segundos máxima que esperará el elemento.
Es una espera variable, si ingresamos 10 segundos, no significa que los esperará
si o si, sino que como máximo esperará esa cantidad, si nuestro elemento aparece
antes en la página, entonces obtendremos antes nuestra respuesta y se
continuará con el siguiente comando, en cambio, si nuestro elemento no aparece,
estará consultando hasta que se cumplan los 10 segundos y luego nos retornará
un False en nuestra variable.
● Esperar Después: Cantidad de segundos que esperará luego de que se ejecute el
comando “Esperar por Objeto” y continúe con el siguiente. Es una espera fija, la
cantidad de segundos que definamos se respetarán si o si, por lo cual se
recomienda que sean tiempos bajos, ojalá no más de 2-5 segundos.
● Asignar resultado a variable: Variable donde retornaremos el valor de si
encontró o no el elemento dentro de los segundos asignados (True o False).

Documentación de Rocketbot Studio 47


Manual de Comandos y Buenas Prácticas

En este caso se está esperando 10 segundos a que aparezca el input de Google para
realizar una búsqueda.

Buenas prácticas
Esperar Antes y Esperar Después: Son tiempos fijos, y son campos opcionales, en caso
de utilizarlos, se deben indicar tiempos bajos (ej: 2-5 segundos), ya que utilizar esperas
fijas no es buena práctica.

Acción Esperar máx: Es un tiempo variable, y es un campo obligatorio, siempre debe ir


un valor ya que sino se indica, el comando no estará cumpliendo su función, como es un
tiempo variable y no fijo, a diferencia de los dos inputs indicados arriba, el tiempo
indicado debe ser más amplio.

Siempre que utilizamos Esperar por Objeto al inicio de nuestro flujo, se debe utilizar el
comando IF del menú lógica, ya que tendremos una respuesta (True o False) en nuestra
variable, en este ejemplo, llamada {wait}, con esa respuesta debemos tomar una
decisión, qué hacer si es True (seguir el flujo normal) o qué hacer si es False (arrojar
excepción, escribir en un log, informar por correo, etc.)

La secuencia sería la siguiente:

● Abrir la página de google.


● Esperar 10 segundos máximo a que el input de búsqueda cargue en la página.
● Tomar una decisión con el IF
○ True: Clickear el input de búsqueda, enviar el texto a buscar y realizar un
Enter.
○ False: Cerrar el navegador y detener el robot.

Documentación de Rocketbot Studio 48


Manual de Comandos y Buenas Prácticas

Documentación de Rocketbot Studio 49


Manual de Comandos y Buenas Prácticas

Sistema

Esperar
Hace esperar al sistema por N segundos y luego sigue ejecutando los comandos.
Utilizado para casos especiales, no se recomienda utilizar esperas fijas ya que solo
aumentarán el tiempo de ejecución del robot, para Web se debe utilizar Esperar por
Objeto y para Desktop con Virtualización se debe utilizar “Esperar por Imagen”

Documentación de Rocketbot Studio 50


Manual de Comandos y Buenas Prácticas

Asignar Variable
Este comando nos sirve para muchas cosas, entre ellas asignar un valor a una variable,
modificar una variable, ejecutar métodos de String de Python, ejecutar acciones con
librerías internas de Rocketbot, etc.

Ejemplo:

Podemos utilizar la librería interna datetime y formatear la fecha actual, de esta forma:

Quedando así:

Documentación de Rocketbot Studio 51


Manual de Comandos y Buenas Prácticas

Último estado.
Con este comando podemos obtener el estado del último comando ejecutado.

Ejemplo:

Continuando con el ejemplo del comando anterior, al ejecutar la instrucción para obtener
la fecha del día, agregaremos el comando “Último Estado” e indicaremos una variable
donde guardar la información, en este caso llamada {res}

Documentación de Rocketbot Studio 52


Manual de Comandos y Buenas Prácticas

Ingreso de Información Web


Abre una ventana parametrizable, por ejemplo para realizar un login y luego ejecutar el
robot.

La URL debe ser tipo file y tiene que ser la ruta completa donde se encuentra el index.

Esto nos abrirá la ventana de esta forma, para que le ingresemos información.

Documentación de Rocketbot Studio 53


Manual de Comandos y Buenas Prácticas

Ejecutar aplicación.

Podemos abrir cualquier aplicación que se encuentre en el PC mediante su ejecutable, en


este ejemplo estamos abriendo Notepad:

Documentación de Rocketbot Studio 54


Manual de Comandos y Buenas Prácticas

Scripts

Ejecutar archivo Python


Ejecuta un archivo Python con las librerías internas que tiene Rocketbot, podemos utilizar
las variables de Rocketbot y setearlas con información desde el script.

Ejemplo

En nuestro script obtendremos la variable {fecha} de Rocketbot, le restaremos 1 día y se


la enviaremos a la variable {result}:

Archivo python:

Podemos utilizar las variables de Rocketbot llamándolas entre llaves, tal cual las
utilizamos en los robots.
Para devolver un valor desde el script hacia el robot, debemos utilizar SetVar() donde
primero indicamos entre comillas el nombre de la variable en Rocketbot y luego el valor
que le queremos asignar.

Al ejecutar el comando indicando la ruta de nuestro archivo python, obtendremos lo


siguiente:

Documentación de Rocketbot Studio 55


Manual de Comandos y Buenas Prácticas

Execute Python
Con este comando podemos ejecutar código python con las librerías básicas incluidas.

Ejemplo:

Utilizaremos la librería random para obtener un número aleatorio y guardarlo en una


variable a través de SetVar().

Resultado:

Documentación de Rocketbot Studio 56


Manual de Comandos y Buenas Prácticas

Ejecutar JSON Rocketbot


Ejecuta un robot de Rocketbot exportado a JSON. Al descargar un robot mediante la
pestaña Robot->Guardar en archivo Json, este se bajará con extensión .json, y
podríamos ejecutar el robot indicando la ruta donde se encuentra ubicado el archivo.

Sin embargo este comando está deprecado y no es óptimo utilizarlo.

Buena práctica
Para ejecutar otro robot como un bot hijo, se debe utilizar siempre el comando Ejecuta
otro script Rocketbot, quien lo llama directamente desde la BD.

Documentación de Rocketbot Studio 57


Manual de Comandos y Buenas Prácticas

Ejecuta otro script RocketBot


Este comando nos sirve para llamar un robot desde otro, donde podemos compartir
variables y dividir tareas entre cada robot.

Nos mostrará todos los robot que tenemos en nuestra base de datos para ejecutarlos.

Documentación de Rocketbot Studio 58


Manual de Comandos y Buenas Prácticas

Buenas prácticas
Como buena práctica siempre es recomendado seccionar el flujo (proceso), en varios
mini-bots. Esto facilita el poder modificar el proceso, revisar dónde está fallando,
corregirlo y reutilizar comandos.

Ejemplo:

Un robot principal (padre), que abra un navegador con una url, luego un mini robot
(hijo_descarga), que descargue un archivo y otro mini bot (hijo_mail) que tome el archivo
y lo envíe por mail.

Robot “padre”:

1. Abre el navegador con una URL específica.


2. Maximiza la ventana.
3. Ejecuta un robot hijo (hijo_descarga).
4. Cierra el navegador.

Variables:
N/A

Documentación de Rocketbot Studio 59


Manual de Comandos y Buenas Prácticas

Documentación de Rocketbot Studio 60


Manual de Comandos y Buenas Prácticas

Robot “hijo_descarga”:

1. Cuenta la cantidad de archivos existentes en la carpeta de Descarga.


2. Realiza click en el botón Descargar de la página abierta.
3. Espera hasta que la descarga haya finalizado.
4. Ejecuta un robot hijo (hijo_mail)

Variables:

Documentación de Rocketbot Studio 61


Manual de Comandos y Buenas Prácticas

Robot “hijo_mail”:

1. Configura un correo Gmail.


2. Envía un correo adjuntando el archivo descargado en el robot anterior (utilizando
la variable {path} del robot hijo_descarga).

Variables:

Documentación de Rocketbot Studio 62


Manual de Comandos y Buenas Prácticas

Retornar Información
Este comando es útil para enviar información a un robot Padre. El robot principal debe
llamar al robot hijo con la instrucción rocket.start().

Ejemplo:

Tenemos un robot padre, el cual contiene una variable {res} que será donde recibiremos
la respuesta desde el robot llamado Retorna_Info

En el robot padre ejecutaremos el otro robot mediante el comando Asignar Variable con
la instrucción rocket.start() e indicaremos la variable donde guardaremos la información
obtenida, en este caso {res}

Documentación de Rocketbot Studio 63


Manual de Comandos y Buenas Prácticas

En el robot hijo (Retorna_Info) tendremos el comando Retornar Información con los


siguientes datos de ejemplo:

Podemos enviar cualquier tipo de información, string, booleanos, diccionarios, listas, etc.

Cuando el padre ejecute al hijo, recibirá la información en su variable {res}

Documentación de Rocketbot Studio 64


Manual de Comandos y Buenas Prácticas

Detener este robot


Detiene la ejecución del robot actual y continúa con los siguientes, para utilizarlo solo se
agrega el comando.

Documentación de Rocketbot Studio 65


Manual de Comandos y Buenas Prácticas

Detener todo y salir


Este comando detiene el Script en curso y sus padres.

Documentación de Rocketbot Studio 66


Manual de Comandos y Buenas Prácticas

Desktop

Mover Mouse
Mueve el mouse hasta la posición indicada por coordenadas X e Y (ej: 1045,207).
Para obtener las coordenadas podemos utilizar el comando Obtener coordenadas del
mouse.

Buena práctica
Este tipo de instrucciones no se deben utilizar en procesos Web, son para utilizarlas en
automatizaciones de aplicaciones de escritorio, sin embargo si requerimos mover el
mouse para realizar algún click, es mejor utilizar el comando Click en Imagen, el cual
busca la imagen en toda la pantalla, por lo tanto si el objeto cambia de posición lo
encontrará igualmente, no así Mover Mouse, que solamente irá a una posición específica.

Documentación de Rocketbot Studio 67


Manual de Comandos y Buenas Prácticas

Mouse Srcoll
Este comando realiza Scroll con el Mouse hasta X clicks.

Documentación de Rocketbot Studio 68


Manual de Comandos y Buenas Prácticas

Obtener Coordenadas del Mouse


Obtiene las coordenadas de la posición donde se encuentra el cursor y las guarda en una
variable.

Segundos de espera: segundos que esperará antes de obtener las coordenadas, lo que
nos permite mover el cursor a la posición deseada.

Asignar resultado a variable: Variable donde guardaremos las coordenadas obtenidas.

Documentación de Rocketbot Studio 69


Manual de Comandos y Buenas Prácticas

Mouse Click
Hace click en donde está posicionado el Mouse, si queremos que lo realice en un lugar
específico, debemos utilizar primero el comando Mover Mouse para indicarle la posición
y una vez esté donde lo queremos, utilizamos Mouse Click.

Podemos utilizar:

● left -> para hacer click con el botón izquierdo


● right -> para hacer click con el botón derecho
● middle -> para hacer click con el botón central del Mouse

Buena práctica
Este tipo de instrucciones no se deben utilizar en procesos Web, son para utilizarlas en
automatizaciones de aplicaciones de escritorio, sin embargo si requerimos realizar algún
click, es mejor utilizar el comando Click en Imagen, el cual busca la imagen en toda la
pantalla, por lo tanto si el objeto cambia de posición lo encontrará igualmente, no así
Mouse Click, que solamente lo hará en una posición específica.

Documentación de Rocketbot Studio 70


Manual de Comandos y Buenas Prácticas

Alerta
Este comando muestra un cartel de mensaje y pausará la ejecución del robot hasta que
se de click en el botón Aceptar.

También podemos imprimir los valores de nuestras variables en tiempo de ejecución,


esto nos sirve para validar si nos está trayendo la información correcta o no.

Nos mostrará la ventana de alerta con el valor que tiene la variable que ingresamos:

Documentación de Rocketbot Studio 71


Manual de Comandos y Buenas Prácticas

Notificación.
Genera una notificación de sistema, a diferencia del comando Alerta, esta Notificación se
mostrará por unos segundos y luego desaparecerá.

Se le puede pasar una imágen para que la muestre como ícono.

Ejemplo:

Documentación de Rocketbot Studio 72


Manual de Comandos y Buenas Prácticas

Captura de pantalla.
Obtiene una captura de pantalla de toda la pantalla.

Sólo debemos pasar la ruta donde queremos guardar la captura, indicando el nombre y
la extensión (.png o .jpg).

Documentación de Rocketbot Studio 73


Manual de Comandos y Buenas Prácticas

Enviar Tecla
Al igual que el comando Enviar Texto Web éste sólo acepta una opción, si se escribe un
texto (o una variable con texto) no se puede agregar una tecla especial, o no funcionará.
Al revés lo mismo, si queremos enviar una tecla especial, no podemos también pasar un
texto.

Buenas prácticas
No utilizar este comando en automatizaciones Web, en ese caso se debe utilizar Enviar
Texto Web, ni en aplicaciones Office (Excel, Word, Powerpoint) para ellas se deben
utilizar los menús o módulos respectivos.

Documentación de Rocketbot Studio 74


Manual de Comandos y Buenas Prácticas

En el input de Texto, podemos concatenar un texto y una tecla, de la siguiente forma:

Si se necesita repetir la misma tecla varias veces, también se puede indicar de esta
forma:

Podemos encontrar más información respecto a combinaciones a utilizar en el siguiente


link: pywinauto además podemos utilizar teclas predefinidas con el el módulo Keyboard.

Documentación de Rocketbot Studio 75


Manual de Comandos y Buenas Prácticas

Lógica

IF
La sentencia if se utiliza para ejecutar un bloque de código si, y sólo si, se cumple una
determinada condición. Por lo tanto, IF es usado para la toma de decisiones.

Buenas prácticas
Nunca se debe dejar un IF vacío y poner solo la lógica en el Else, esto no es permitido en
Python por lo tanto producirá fallos en nuestro robot.

Ejemplo:

Documentación de Rocketbot Studio 76


Manual de Comandos y Buenas Prácticas

La forma correcta es la siguiente, donde el Else si puede ir vacío:

Documentación de Rocketbot Studio 77


Manual de Comandos y Buenas Prácticas

While
Con la sentencia While podemos ejecutar un ciclo mientras se cumpla una condición, lo
cual nos permite ejecutar instrucciones múltiples veces.

Buenas prácticas
La condición debe estar relacionada con una variable que tenga un cambio en la
condición para que en algún momento esta se cumpla y se termine el ciclo, sinó se corre
el riesgo de generar un bucle infinito.

Documentación de Rocketbot Studio 78


Manual de Comandos y Buenas Prácticas

Break
Este es un comando que no tiene ningún parámetro. Se utiliza dentro de los Ciclos For o
While, el comando Break termina el ciclo que la contiene. El flujo del Robot sigue el
comando inmediatamente después del cuerpo del ciclo. Si la instrucción break está
dentro de un ciclo anidado (ciclo dentro de otro ciclo), la declaración break terminará el
ciclo más interno.

Documentación de Rocketbot Studio 79


Manual de Comandos y Buenas Prácticas

For
Un bucle for es un bucle que repite el bloque de instrucciones un número predeterminado
de veces, podemos indicar un número con la opción range(), o si indicamos una lista, se
ejecutará tantas veces como elementos contenga.

En el selector Variables, debemos indicar una variable donde irá quedando cada
elemento que contenga el elemento iterable.

Podemos encontrar más información respecto a los ciclos en la documentación de


Python.

Documentación de Rocketbot Studio 80


Manual de Comandos y Buenas Prácticas

Try Catch
Este es un comando que se utiliza para capturar errores, dentro del bloque Try se ubica
todo el código que pueda llegar a generar una excepción, el bloque Catch se encarga de
capturar la excepción y ejecutar las instrucciones que contenga.

A la primera excepción que encuentre en el bloque Try, no continuará con las demás
instrucciones y ejecutará inmediatamente lo que contenga el bloque Catch.

Ejemplo:

Documentación de Rocketbot Studio 81


Manual de Comandos y Buenas Prácticas

Archivos

Guardar texto en archivo


Este comando nos sirve para pasar información a un archivo, se puede utilizar por
ejemplo para crear nuestro propio log e ir almacenando los distintos pasos e información
del robot.

● Ruta del archivo: Debemos indicar la ruta de nuestro archivo, si no existe se


creará.
● Modo:
○ Agregar: Irá adicionando información al archivo, por ejemplo en el caso de
crear un archivo log.
○ Sobreescribir: Irá pisando la información existente en el archivo.
● Agregar salto de línea: Podemos seleccionarlo si queremos incluir un salto de
línea antes del texto enviado.
● Texto: Podemos indicar texto fijo o pasar una variable de Rocketbot.

Documentación de Rocketbot Studio 82


Manual de Comandos y Buenas Prácticas

Control de archivos

Mover o renombrar archivo


Este comando nos permite mover o renombrar un archivo desde una posición a otra,
debemos ingresar la ruta y nombre del archivo actual (Desde) y la ruta y nombre hacia
donde lo queremos mover (Hacia), también podemos retornar el resultado a una variable
donde obtendremos True en caso de que la acción se haya realizado de forma exitosa, o
False en caso contrario.

Documentación de Rocketbot Studio 83


Manual de Comandos y Buenas Prácticas

Copiar Archivo
Este comando nos permite copiar un archivo desde una posición a otra, debemos
ingresar la ruta y nombre del archivo original (Desde) y la ruta y nombre hacia donde lo
queremos mover (Hacia), a diferencia del comando anterior, en este caso el archivo
original se conservará tanto en la ruta de inicio como en la ruta final, también podemos
retornar el resultado a una variable donde obtendremos True en caso de que la acción se
haya realizado de forma exitosa, o False en caso contrario.

Documentación de Rocketbot Studio 84


Manual de Comandos y Buenas Prácticas

Borrar archivo
Este comando nos permite borrar un archivo de forma definitiva, no llega a la papelera.
Debemos indicar la ruta y nombre del archivo que queremos borrar, en el input Nombre
de archivo y además podemos asignar el resultado a una variable. En caso que la
operación sea exitosa el resultado será None caso contrario será False.

Documentación de Rocketbot Studio 85


Manual de Comandos y Buenas Prácticas

Listar archivos
Con este comando podemos obtener una lista con todos los archivos contenidos en una
carpeta.

Documentación de Rocketbot Studio 86


Manual de Comandos y Buenas Prácticas

Listar carpetas
Con este comando podemos obtener una lista con todas las carpetas contenidas en una
carpeta.

Documentación de Rocketbot Studio 87


Manual de Comandos y Buenas Prácticas

Enviar a papelera
Con este comando podemos eliminar un archivo y enviarlo directamente a la papelera,
además podemos asignar el resultado a una variable. En caso que la operación sea
exitosa el resultado será None caso contrario será False.

**En el caso de trabajar en Windows la ruta del Archivo en este comando se debe indicar
con barra invertida, por ejemplo C:\Users\user\file.txt

Documentación de Rocketbot Studio 88


Manual de Comandos y Buenas Prácticas

Compresión de archivos

Comprimir un archivo o una carpeta en un ZIP


Este comando nos permite comprimir un archivo o carpeta a .zip, debemos indicar la ruta
de lo que queremos comprimir y la ruta y nombre del archivo zip de destino, además
podemos retornar el resultado a una variable, si la acción se realizó correctamente
obtendremos un True, caso contrario obtendremos un False.

Documentación de Rocketbot Studio 89


Manual de Comandos y Buenas Prácticas

Descomprimir ZIP
La funcionalidad de este comando es descomprimir un archivo ZIP, para esto debemos
indicar la ruta y nombre del archivo a descomprimir y la ruta de destino del archivo ya
descomprimido. Adicionalmente podemos guardar el resultado de la ejecución en una
variable, si la acción se realizó correctamente obtendremos un True, caso contrario
obtendremos un False.

Documentación de Rocketbot Studio 90


Manual de Comandos y Buenas Prácticas

PDF

Extraer texto de PDF


Este comando nos permite extraer el texto de un PDF digital (No pdf tipo imagen, no
escaneado) y almacenar el resultado en una variable, también podemos indicar el
número específico de página que queremos extraer, si no se indica, por defecto se leerán
todas.

Documentación de Rocketbot Studio 91


Manual de Comandos y Buenas Prácticas

Convertir imagen a PDF


Podemos convertir una imagen a PDF indicando la ruta de donde se encuentra la
imagen, y en PDF destino, la ruta donde se creará el Archivo PDF resultante, también le
podemos indicar el alto y ancho de la imagen, si se deja vacío se colocarán valores por
defecto.

Documentación de Rocketbot Studio 92


Manual de Comandos y Buenas Prácticas

Agregar imagen a PDF


Nos permite adicionar una imagen a un PDF, por ejemplo como un sello de agua o algún
código QR, debemos indicar la ruta y nombre de la imagen a agregar y la ruta y nombre
del PDF al cual la queremos adicionar, también le podemos indicar el alto y ancho que de
la imagen y la posición donde la queremos agregar indicando coordenadas X e Y, si se
dejan vacío se colocarán valores por defecto.

Documentación de Rocketbot Studio 93


Manual de Comandos y Buenas Prácticas

XLSX
Si trabajamos con este menú no es necesario tener instalado Microsoft Excel, ya que no
trabaja con la aplicación, abre o crea un archivo en segundo plano y no veremos que este
se abra, todo pasará por debajo.

Nuevo xlsx
Nos permite crear un nuevo archivo XLSX en memoria, podemos indicar un Identificador
(puede ser un número, letra o palabra) en el caso de que necesitemos crear y trabaja con
más de un archivo xlsx abierto por Rocketbot, luego si necesitamos ir moviéndonos entre
uno u otro, lo tendremos que realizar a través de su ID, también podemos indicar una
variable, donde obtendremos un True si se puedo crear un nuevo archivo o False en caso
contrario.

Documentación de Rocketbot Studio 94


Manual de Comandos y Buenas Prácticas

Buenas prácticas
Retornar a una variable para validar si se pudo abrir de forma correcta o no y con eso
tomar una decisión a través del comando IF.

Ejemplo:

Documentación de Rocketbot Studio 95


Manual de Comandos y Buenas Prácticas

Abrir xlsx
Nos permite abrir un archivo XLSX en memoria, debemos indicar la ruta donde se
encuentra, y al igual que el comando anterior también podemos indicar un Identificador
en el caso que necesitemos abrir más de un archivo, además de la variable donde
obtendremos un True si se pudo abrir de forma correcta, o un False en caso contrario.

Buenas prácticas
Retornar a una variable para validar si se pudo abrir de forma correcta o no y con eso
tomar una decisión a través del comando IF.

Ejemplo:

Documentación de Rocketbot Studio 96


Manual de Comandos y Buenas Prácticas

Guardar xlsx
Nos permite guardar el archivo XLSX que está en foco indicando la ruta y nombre, si
estamos trabajando con más de uno, primero debemos dejar activo el que queremos
guardar, con el comando Cambiar de Archivo

Documentación de Rocketbot Studio 97


Manual de Comandos y Buenas Prácticas

Obtener Hojas
Obtendremos una lista con los nombres de las hojas contenidas en el archivo, debemos
indicar una variable donde almacenar la información.

Documentación de Rocketbot Studio 98


Manual de Comandos y Buenas Prácticas

Cambiar de Hoja
Por defecto se trabaja con la primera hoja del archivo, si necesitamos trabajar con otra,
debemos cambiarnos de Hoja indicando su nombre.

Documentación de Rocketbot Studio 99


Manual de Comandos y Buenas Prácticas

Cambiar de Archivo
Podemos cambiar de archivo dejando activo otro que haya sido abierto por Rocketbot,
para eso debemos indicar el ID agregado mediante el comando Nuevo xlsx o Abrir xlsx

Documentación de Rocketbot Studio 100


Manual de Comandos y Buenas Prácticas

Contar Filas
Este comando nos permite obtener la cantidad total de filas con información del archivo
xlsx. Por defecto contará las filas de la primera hoja, si necesitamos trabajar con otra,
primero debemos cambiarnos con el comando Cambiar de Hoja.

Buenas prácticas
Siempre luego de Abrir un archivo xlsx, debemos contar la cantidad de filas que tiene, ya
que en el caso de que la cantidad sea variable y en otra ocasión el archivo tenga más o
menos filas, es decir, en otra ocasión el archivo tenga más o menos filas tendríamos que
estar modificando el comando Obtener celda de forma manual, lo cual no es óptimo, por
lo tanto siempre se debe trabajar con una variable que contenga la cantidad de filas.

Documentación de Rocketbot Studio 101


Manual de Comandos y Buenas Prácticas

Contar Columnas
Este comando nos permite obtener la cantidad total de columnas con información del
archivo xlsx. Por defecto contará las columnas de la primera hoja, si necesitamos
trabajar con otra, primero debemos cambiarnos con el comando Cambiar de Hoja.

Documentación de Rocketbot Studio 102


Manual de Comandos y Buenas Prácticas

Obtener celda
Este comando nos permite obtener una celda o un rango de celdas y almacenar la
información en una variable, al obtener un rango nos devolverá una lista o una lista de
listas.

Buenas prácticas
Cuando trabajamos con un rango (ej: A1:F3) no debemos pasar un número fijo al final de
este, sino, debemos utilizar el comando Contar Filas y asignar el valor a una variable,
esta variable es la que se debe pasar al final del rango, ej: A1:F{filas}, esto en el caso de
que la cantidad de datos en el Excel sea variable, para no estar modificando el comando
cada vez que la cantidad de filas cambia, se debe utilizar esta buena práctica.

Documentación de Rocketbot Studio 103


Manual de Comandos y Buenas Prácticas

Escribir Celda
Este comando nos permite escribir un texto en una celda específica o un rango si
definimos una matriz en el input Texto.

Ejemplo:

Para escribir en un rango debemos en Celda indicar la celda de inicio y en Texto lo


siguiente: [["Titulo1", "Titulo2"], ["valor1", "valor2"]]

Quedará así:

Documentación de Rocketbot Studio 104


Manual de Comandos y Buenas Prácticas

Virtualización
Este menú es nuestra última opción para realizar una automatización, el orden de
prioridad sería:

1. Comandos nativos y/o módulos para Web, Office, Email, Base de datos, SAP, FTP,
Archivos, etc.

2. Si necesitamos controlar una aplicación de escritorio, debemos primero intentar


con los grabadores, Desktop Recorder o Java Recorder, si ninguno de los dos nos
sirve, entonces la última opción será Virtualización ya que se deben considerar
ciertas cosas como por ejemplo:

a. La resolución del PC afectará al bot, por ejemplo, si se desarrolla un bot en


X computador y luego se pasa al computador del cliente o donde se
ejecutará finalmente, lo más probable es que no funcione correctamente,
ya que se tienen resoluciones y componentes distintos.

b. Las imágenes siempre deben estar enfrente para que el bot las reconozca,
esto quiere decir que una persona no puede utilizar el computador al
mismo tiempo que el robot, por lo tanto no se podrán realizar ejecuciones
en paralelo.

c. La pantalla no se puede bloquear, por lo que eso se debe desactivar o


realizar ajustes para que no suceda.

Documentación de Rocketbot Studio 105


Manual de Comandos y Buenas Prácticas

Click en Imagen
Realiza un click a la imagen que indicamos mediante una captura de pantalla.
Buscará la imagen en toda la pantalla, por lo que si cambia de posición la encontrará
igualmente.

Al presionar “Captura de Pantalla”, aparecerá una ventana con dos opciones:

1. Tomar captura: Saca la captura inmediatamente.


2. Captura en 5 seg.: Espera 5 segundos y luego saca la captura, esto nos permite
movernos o dejar la aplicación o elemento en foco.

Documentación de Rocketbot Studio 106


Manual de Comandos y Buenas Prácticas

Al sacar la captura, nos mostrará la imagen y una selección, la cual podemos ampliar o
achicar para seleccionar el elemento deseado.

Debemos acotar la selección sólo al elemento donde queremos clickear, en este ejemplo
debemos realizar un click en el input de Username, pero vemos que todos los inputs son
iguales, por lo tanto debemos escoger una referencia distinta al foco, la referencia en
este caso será el label Username, y el foco (donde hace el click finalmente) será el input.

Primero seleccionamos el label Username y luego clickeamos en Sel. referencia, de esta


forma veremos la imagen debajo del texto Imagen de referencia

Documentación de Rocketbot Studio 107


Manual de Comandos y Buenas Prácticas

Ahora seleccionamos el input donde queremos que realice el click y clickeamos Sel. foco,
de esta forma veremos la imagen debajo del texto Hacer click

Finalmente debemos elegir las opciones de la derecha, las cuales son:

● Posición: Posición donde se dará click en la imagen (Center, Top, Bottom, Right,
etc.)
● Exactitud: Generalmente utilizamos 0.8 o 0.7 que corresponde al 80% o 70% de
exactitud en cuanto a la imagen.
● Click en botón: indicamos qué tipo de click realizaremos (Izquierdo, doble
izquierdo, derecho, medio, etc.)
● Escala de grises: Podemos elegir si queremos que pase la imagen a gris o color y
luego busque, por defecto es en Escala de grises y es lo recomendable.
● Tiempo de busqueda: Podemos agregar un tiempo de búsqueda variable,
esperar N segundos hasta que aparezca la imagen y luego le de click.

Documentación de Rocketbot Studio 108


Manual de Comandos y Buenas Prácticas

Buscar por Imagen


Busca una imagen de referencia en la pantalla y almacena el resultado en una variable
retornando True si la encontró dentro del tiempo definido o False en caso contrario.

Buenas prácticas
Al igual que el comando Esperar por Objeto para la parte web, en Virtualización
debemos utilizar este comando para asegurarnos de que el elemento con el cual
queremos trabajar, existe, y luego tomar una decisión con un IF, si nos retorna True, osea
que sí lo encontró, entonces dentro de ese bloque realizamos nuestro flujo, si nos retorna
False, osea que no lo encontró entonces debemos decidir qué hacer.

Documentación de Rocketbot Studio 109


Manual de Comandos y Buenas Prácticas

OCR a imagen

Busca una imagen y transcribe el texto guardándolo en una variable.


Considerar que el OCR no es 100% fiable, por lo que podría traer un texto erróneo, por
ejemplo confundir un 0 con una o.

Documentación de Rocketbot Studio 110


Manual de Comandos y Buenas Prácticas

Esperar por imagen


Espera una imagen de referencia en la pantalla y almacena en una variable si está
visible o no.
Realiza la misma función que el comando Buscar por imagen

Buenas prácticas
Al igual que el comando Esperar por Objeto para la parte web, en Virtualización
debemos utilizar este comando para asegurarnos de que el elemento con el cual
queremos trabajar, existe, y luego tomar una decisión con un IF, si nos retorna True, osea
que sí lo encontró, entonces dentro de ese bloque realizamos nuestro flujo, si nos retorna
False, osea que no lo encontró entonces debemos decidir qué hacer.

Documentación de Rocketbot Studio 111


Manual de Comandos y Buenas Prácticas

Tips

Windows
Estos son algunos casos donde los comandos de imagen no funcionen correctamente,
por lo tanto se debe revisar resolución o ejecutar Rocketbot como administrador.

1. Si no realiza los click en las imágenes


a. Instalar lo siguiente:

.NET Framework: Download .NET Framework | Free official downloads

Visual C++: Descargas más recientes compatibles de Visual C++

b. Revisar resolución:

Si la configuración de pantalla está aumentada, dejarla al 100% y probar.

Documentación de Rocketbot Studio 112


Manual de Comandos y Buenas Prácticas

Importante: Si se realizan cambios de escala, puede ser necesario cerrar sesión y volver
a abrir para que los cambios se guarden.

Documentación de Rocketbot Studio 113


Manual de Comandos y Buenas Prácticas

2. Si realiza click en ciertas imágenes pero no en todas.

Por ejemplo realiza click en elementos del escritorio o barra de tareas pero no en una
aplicación de escritorio interna, además al intentar abrir la aplicación con Rocketbot
aparece lo siguiente:

Ejecutar Rocketbot como administrador y probar.

3. Si realiza click en otra parte

Especificar alguna referencia, por ejemplo si tenemos dos elementos iguales, debemos
marcar como referencia algo que no se repita y como foco el lugar donde realizar el click.

Por ejemplo acá seleccionamos como referencia el label Username el cual no se repite, y
el foco es el input, lo que hará será calcular las coordenadas desde la imagen de
referencia hasta la indicada en foco y hará click a lo que se encuentre en esa posición.

Documentación de Rocketbot Studio 114


Manual de Comandos y Buenas Prácticas

Si sigue realizando el click en otra parte, y se está trabajando desde un escritorio


remoto, debemos cambiar la resolución antes de ingresar al servidor.

Por ejemplo, el foco (donde hacer el click) es el ícono de Rocketbot, pero el click lo realiza
en el punto rojo:

Configuración:

Documentación de Rocketbot Studio 115


Manual de Comandos y Buenas Prácticas

4. Si sigue sin encontrar las imágenes y es un Windows Enterprise (win 7 o win


10), revisar si está la siguiente .dll sino, agregarla:

DLL: api-ms-win-downlevel-shlwapi-l1-1-0.dll

5. Virtualización en Windows server 2012 mediante rdp

En caso que las funciones de virtualización para “click en imagen” o “esperar por imagen”
no funcionara correctamente podemos revisar lo siguiente:

Que no esté habilitada la opción de cambiar el nivel de escala:

Documentación de Rocketbot Studio 116


Manual de Comandos y Buenas Prácticas

Adicional a esto verificar que esté instalada las características dentro de “Interfaz de
usuario e Infraestructura” en especial Experiencia de escritorio:

Documentación de Rocketbot Studio 117


Manual de Comandos y Buenas Prácticas

macOS

Permiso denegado al hacer OCR

Solución:

1. Abrir el terminal e ir a la ruta indicada en el error, ej:


cd /Users/usuario/Desktop/Rocketbot/drivers/mac/tesseract

2. Escribir el comando ls-l para visualizar los permisos.

3. Veremos que en este caso no tiene permisos de ejecución:

4. Le damos los permisos con uno de los siguiente comandos:

- ejecución para todos los usuarios: chmod 777 tesseract


- ejecución sólo para el owner: chmod 744 tesseract

Documentación de Rocketbot Studio 118


Manual de Comandos y Buenas Prácticas

- Volvemos a ejecutar un ls -l para revisar los cambios:

- Ahora ejecutamos nuevamente el comando de OCR

Documentación de Rocketbot Studio 119


Manual de Comandos y Buenas Prácticas

MySQL

Configurar conexión Mysql


Para conectarnos con MySQL, debemos indicar la URL del servidor, puerto, nombre de la
BD, usuario y contraseña, además podemos retornar el resultado a una variable donde
obtendremos un True si la conexión fue exitosa, o un False, en caso contrario y podemos
utilizar un ID en caso de que nos conectemos a varias Bases de datos MySQL.

Buenas prácticas
Siempre agregar una variable para retornar el status de conexión y con eso validar a
través del comando IF para tomar una decisión.

Documentación de Rocketbot Studio 120


Manual de Comandos y Buenas Prácticas

Consulta MySQL
Realiza una consulta MySQL (Select, insert, delete, update), el resultado lo retornamos en
una variable para posteriormente trabajar con la información.

Buenas prácticas
En el ambiente de Desarrollo de Rocketbot las consultas se deben realizar con límites y
no traer todos los registros, ya que si son demasiados, Rocketbot puede detenerse por
consumo de memoria, esto para realizar pruebas, ya en el ambiente de producción
igualmente es recomendable seccionar la cantidad de registros consultados.

Documentación de Rocketbot Studio 121


Manual de Comandos y Buenas Prácticas

Email

SMTP - IMAP

Configurar servidor
Configura un servidor SMTP e IMAP con SSL para enviar y recibir correo. Al abrir el
comando, por defecto vienen los servidores y puertos de gmail, debemos añadir el correo
y su contraseña.

Buenas prácticas
Variables:
Es buena práctica, utilizar variables tanto en el nombre de usuario como en el caso de la
contraseña y no escribirlos directamente en el comando. También debemos recordar
siempre borrar las credenciales si por alguna razón tuvieras que compartir el robot.

Conexión:
Siempre se debe validar la correcta conexión de la cuenta de correo, en el caso de los
módulos, éstos permiten validar la conexión retornando el resultado a una variable, por
lo tanto esto se debe validar con un IF.
En el caso de este comando, no tiene opción para retornar a una variable y revisar si las
credenciales conectaron de forma correcta o no, pero en este caso se puede utilizar el
comando Último Estado y validar esa respuesta.

Documentación de Rocketbot Studio 122


Manual de Comandos y Buenas Prácticas

Una vez que ya no utilizaremos nada respecto a correos, debemos cerrar la conexión con
el comando “Cerrar Conexión” del módulo que estemos utilizando.

Módulos:
Se recomienda utilizar los módulos específicos para los distintos tipos de servidores de
correo, pero si se requiere utilizar uno corporativo o que por el momento no tenga su
respectivo módulo, es óptimo utilizar este comando para configurar y complementarlo
con el módulo Email Advanced en vez de utilizar los comandos nativos que son más
limitados.

Documentación de Rocketbot Studio 123


Manual de Comandos y Buenas Prácticas

Enviar Email SMTP


Con este comando ingresamos la dirección de correo a quién queremos enviar el mail
(sólo acepta un destinatario), el asunto y el mensaje, además podemos adjuntar un
archivo indicando la ruta.

Para enviar un mail, debemos configurar previamente el servidor SMTP a utilizar, con el
comando Configurar Servidor.

Documentación de Rocketbot Studio 124


Manual de Comandos y Buenas Prácticas

Listar todos los email IMAP


Este comando nos permite obtener una lista de todos los email que coincidan con el
filtro2 indicado, debemos retornar el resultado a una variable para trabajar con la
información.

Buenas prácticas
Una vez que obtenemos el resultado de listar email es necesario decodificar los datos.

2
Filtros de email

Documentación de Rocketbot Studio 125


Manual de Comandos y Buenas Prácticas

La decodificación se realiza con el comando Asignar Variable y la función de Python


decode().

Ejemplo:

Quedará de la siguiente forma:

Si queremos realizar el decode para toda la lista obtenida, debemos recorrerla con un
For.

Documentación de Rocketbot Studio 126


Manual de Comandos y Buenas Prácticas

Listar email nuevos IMAP


Este comando nos permite obtener una lista de todos los email que coincidan con el
filtro3 indicado, la diferencia con el comando anterior es que este nos traerá los id’s sólo
de los correos que no hayan sido leídos aún. Debemos retornar el resultado a una
variable para trabajar con la información.

Al igual que el comando anterior, también debemos decodificar los id’s entregados.

3
Filtros de email

Documentación de Rocketbot Studio 127


Manual de Comandos y Buenas Prácticas

Leer email por ID IMAP


Este comando nos permite leer la información del correo, debemos indicar el ID del email
obtenido del comando Listar todos los email IMAP o Listar email nuevos IMAP, al asignar
a una variable obtendremos información como por ejemplo el mensaje, asunto, quién lo
envió y si tiene archivos adjuntos o no, además podemos indicar una ruta y en caso de
que traiga adjuntos, éstos serán descargados en la carpeta indicada.

Documentación de Rocketbot Studio 128


Manual de Comandos y Buenas Prácticas

Conexión HTTP

Conectar url GET


Este comando nos permite realizar una solicitud de tipo GET y asignar los datos a una
variable.

Ejemplo:

Documentación de Rocketbot Studio 129


Manual de Comandos y Buenas Prácticas

Conectar URL avanzado


Con este comando podemos ejecutar solicitudes HTTP del tipo Get, Post, Put y Delete. A
diferencia de la conexión URL GET, en este comando podemos enviar múltiples variables.

El resultado de la consulta quedará guardado en Asignar resultado a variable. Podemos


enviar consultas con cabeceras, donde ingresamos por ejemplo una Key para conectar a
una Api, seleccionar el formato del dato a enviar, ya sea como Formulario, Json o Texto
plano. En la sección Ruta de Archivo ingresamos el Path de un archivo que podría ir
adjunto, por ejemplo, en una solicitud del tipo Post. En este comando los datos
obligatorios son URL de Servidor y Método de solicitud

Ejemplo:

Realizaremos un Post, pasando un XML para convertir de Fahrenheit a Celsius.


En este caso debemos además de agregar la URL y el método de solicitud, indicar en
cabeceras que es un tipo de texto XML.

*Si queremos utilizar una variable en las cabeceras, debemos “escapar” las comillas
dobles para que quede de esta forma:

Se puede realizar desde Asignar Variable con la siguiente instrucción:


"""{header}""".replace('"', '\\"')

Documentación de Rocketbot Studio 130


Manual de Comandos y Buenas Prácticas

En la pestaña Contenido Plano, realizaremos la llamada

Obteniendo lo siguiente:

Documentación de Rocketbot Studio 131


Manual de Comandos y Buenas Prácticas

Integración con Aplicaciones

Excel
Si trabajamos con este menú si es necesario tener instalado Microsoft Excel, ya que
trabaja con la aplicación, abre o crea un archivo en primer plano y veremos que este se
abre.

Nuevo Libro
Nos permite crear un nuevo archivo Excel, podemos indicar un Identificador (puede ser
un número, letra o palabra) en el caso de que necesitemos crear y/o trabaja con más de
un archivo Excel abierto por Rocketbot, luego si necesitamos ir moviéndonos entre uno u
otro, lo tendremos que realizar a través de su ID, también podemos indicar una variable,
donde obtendremos un True si se puedo crear un nuevo Excel o False en caso contrario.

Documentación de Rocketbot Studio 132


Manual de Comandos y Buenas Prácticas

Buenas prácticas
Retornar a una variable para validar si se pudo abrir de forma correcta o no y con eso
tomar una decisión a través del comando IF.

Ejemplo:

Documentación de Rocketbot Studio 133


Manual de Comandos y Buenas Prácticas

Abrir archivo
Nos permite abrir un archivo Excel existente, debemos indicar la ruta donde se
encuentra, y al igual que el comando anterior también podemos indicar un Identificador
en el caso que necesitemos abrir más de un archivo, además de la variable donde
obtendremos un True si se pudo abrir de forma correcta, o un False en caso contrario.

Buenas prácticas
Retornar a una variable para validar si se pudo abrir de forma correcta o no y con eso
tomar una decisión a través del comando IF.

Ejemplo:

Documentación de Rocketbot Studio 134


Manual de Comandos y Buenas Prácticas

Guardar Archivo
Este comando guarda el archivo excel en la ruta que especifiquemos (usando el botón
buscar o pasando una variable), es posible guardar el resultado de la operación en una
variable, donde obtendremos un True si fue exitosa o un False en caso contrario.

Buenas prácticas
Retornar a una variable para validar si se pudo guardar de forma correcta o no y con eso
tomar una decisión a través del comando IF.

Ejemplo:

Documentación de Rocketbot Studio 135


Manual de Comandos y Buenas Prácticas

Exportar a PDF
Este comando nos permite exportar a PDF la hoja activa en el libro de Excel activo.
Debemos indicar la ruta y nombre de archivo deseado.

Esto generará nuestro PDF:

Documentación de Rocketbot Studio 136


Manual de Comandos y Buenas Prácticas

Obtener Hojas
Obtendremos una lista con los nombres de las hojas contenidas en el archivo, debemos
indicar una variable donde almacenar la información.

Documentación de Rocketbot Studio 137


Manual de Comandos y Buenas Prácticas

Cambiar de Hoja
Por defecto se trabaja con la primera hoja del archivo, si necesitamos trabajar con otra,
debemos cambiarnos de Hoja indicando su nombre, el cual lo podemos obtener a través
del comando Obtener Hojas.

Documentación de Rocketbot Studio 138


Manual de Comandos y Buenas Prácticas

Cambiar de Archivo
Podemos cambiar de archivo dejando activo otro que haya sido abierto por Rocketbot,
para eso debemos indicar el ID agregado mediante el comando Nuevo libro o Abrir
archivo

Documentación de Rocketbot Studio 139


Manual de Comandos y Buenas Prácticas

Contar Filas
Este comando nos permite obtener la cantidad total de filas con información del archivo
Excel. Por defecto contará las filas de la primera hoja, si necesitamos trabajar con otra,
primero debemos cambiarnos con el comando Cambiar de Hoja.
Considerar que sólo contará la cantidad en la columna A, por lo tanto si necesitamos
cambiar de columna podemos utilizar el comando Contar Filas del módulo Advanced
Excel.

Buenas prácticas
Siempre luego de Abrir un archivo Excel, debemos contar la cantidad de filas que tiene,
ya que en el caso de que la cantidad sea variable, es decir, en otra ocasión el archivo
tenga más o menos filas tendríamos que estar modificando el comando Obtener celda
de forma manual, lo cual no es óptimo, por lo tanto siempre se debe trabajar con una
variable que contenga la cantidad de filas.

Documentación de Rocketbot Studio 140


Manual de Comandos y Buenas Prácticas

Obtener celda
Este comando nos permite obtener una celda o un rango de celdas y almacenar la
información en una variable, al obtener un rango nos devolverá una lista o una lista de
listas.

Buenas prácticas
Cuando trabajamos con un rango (ej: A1:F3) no debemos pasar un número fijo al final de
este, sino, debemos utilizar el comando Contar Filas y asignar el valor a una variable,
esta variable es la que se debe pasar al final del rango, ej: A1:F{filas}, esto en el caso de
que la cantidad de datos en el Excel sea variable, para no estar modificando el comando
cada vez que la cantidad de filas cambia, se debe utilizar esta buena práctica.

Documentación de Rocketbot Studio 141


Manual de Comandos y Buenas Prácticas

Ejecutar Macro

Este comando nos permite ejecutar una Macro de VB que esté guardada en la planilla
Excel, debemos indicar el nombre, en el caso de que la macro retorne algún valor,
podemos indicar una variable donde almacenarlo.

Este comando solo es funcional en Windows.

Documentación de Rocketbot Studio 142


Manual de Comandos y Buenas Prácticas

Exportar gráfico.
Este comando nos permite exportar un gráfico por su identificador en la hoja activa de
Excel. Debemos indicar el índice y es posible guardar el resultado de la ejecución en una
variable, donde obtendremos un True si la instrucción se ejecutó correctamente o un
False en caso contrario.

La imágen del gráfico se exportará en la misma ruta donde se encuentra el archivo Excel.

Si se produce algún error, podemos utilizar el comando Exportar Gráfico del módulo
Advanced Excel

Documentación de Rocketbot Studio 143


Manual de Comandos y Buenas Prácticas

Escribir Celda
Este comando nos permite ingresar datos en las celdas, podemos escribir una celda en
particular o especificar un rango.

Ejemplo:

En este caso escribiremos en Celda especificaremos el rango A2:B5 y en Texto


escribiremos la palabra prueba.

Al ejecutarlo, el Excel quedará de esta forma:

También podemos enviar fórmulas, deben ser escritas en inglés, ej.: =SUM(A1:B5).

Documentación de Rocketbot Studio 144


Manual de Comandos y Buenas Prácticas

Cerrar Excel
Este comando cerrará todos los Excel abiertos, independientemente de si fueron abiertos
por Rocketbot o no, ya que mata la aplicación de Excel.

Si se requiere cerrar solo el archivo abierto pro Rocketbot, podemos utilizar el comando
Cerrar XLSX del módulo Advanced Excel.

Buenas prácticas
Una vez que dejemos de utilizar el Excel debemos cerrarlo, sino el proceso quedará
abierto y al acumular demasiados podría afectar en algo el funcionamiento correcto del
bot.

Documentación de Rocketbot Studio 145


Manual de Comandos y Buenas Prácticas

Logs en Rocketbot
Los logs se encuentran en la ruta:
Rocketbot/logs/YYMMDD/logfile_YYMMDD_HHMMSS.log

Estructura de Logs de Rocketbot

● Fecha: formato yyyy-mm-dd


● Hora: formato H:M:S.f
● mod/core: ej: Rocketbot, script, system
● Tipo de log: ej: INFO, ERROR, EXCEPTION
● Comando/módulo: ej: clcikWeb, for, alert, module -- {module_name: “System++”}

Ejemplo:

Documentación de Rocketbot Studio 146


Manual de Comandos y Buenas Prácticas

Visualizar errores en Rocketbot


En el Studio, cuando un comando falle, se mostrará en color rojo y además indicará el
texto del error, también podemos complementar la información revisando la consola de
Rocketbot, la cual nos irá mostrando la información en tiempo real, o también revisando
el archivo generado en la carpeta logs.

Si obtenemos un error en algún módulo, en la consola podremos ver la línea exacta


donde ocurrió.

Ejemplo:

Documentación de Rocketbot Studio 147


Manual de Comandos y Buenas Prácticas

Recomendaciones para generar Logs.


Revisar en el momento de desarrollo todos los errores posibles ya que en el Studio la
interfaz muestra todos los errores en forma gráfica. En producción no existe la interfaz
de desarrollo por lo que no se muestra ningún error en forma gráfica, por lo tanto se
recomienda programar acciones para reportar anomalías en las ejecuciones.

Se recomienda incluir información como Fecha, Hora, BOT, Acción y Resultado de la


acción, que sean compatibles con las buenas prácticas de monitoreo y supervisión a
través de visualizadores externos como Power BI, Kibana, etc. a través de correo
electrónico, mensajes de texto, etc.

Documentación de Rocketbot Studio 148


Manual de Comandos y Buenas Prácticas

Robots en Paralelo
El siguiente cuadro grafica, cuándo y en qué condiciones se pueden ejecutar robots en
paralelo.

Tipo de aplicación Posibilidad de Requisitos Solución


a automatizar implementar Alternativa
Bots en paralelo

Sistemas WEB SI El sistema debe permitir


internos correr múltiples sesiones por
equipo

Sistemas WEB SI
externos

Bases de datos SI

APIs SI

Correo SI

SAP con GUI SI Habilitar en SAP GUI


Scripting Scripting y una sesión por
Bot

Aplicación Java Probable -La aplicación debe permitir


Cliente Servidor 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 SI -La aplicación cliente debe


Cliente Servidor 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 SI Solo si los BOTs trabajan


sobre Archivos Word

Documentación de Rocketbot Studio 149


Manual de Comandos y Buenas Prácticas

diferentes

Microsoft Excel Si Solo si los BOTs trabajan


sobre Archivos Excel
diferentes

Aplicación que No No se puede automatizar en Usar VMs sobre un


obligue al uso de paralelo sobre una misma mismo Servidor o
tratamiento de máquina equipos físicos. Con
imágenes(OCR) o licencias individuales
virtualización para Onpremise S(Si
su automatización requiere usar
Xperience).

Documentación de Rocketbot Studio 150


Manual de Comandos y Buenas Prácticas

Escritorio Remoto
No se recomienda trabajar desde el escritorio remoto a menos que sea necesario, por
ejemplo si es una web y podemos acceder desde fuera, entonces lo óptimo es realizar el
bot desde nuestros computadores, si en cambio el sistema que queremos automatizar
está en las dependencias del cliente, entonces tendremos que conectarnos.

Al trabajar desde un Escritorio Remoto podemos presentar lentitud en las acciones, si a


esto sumamos conexión a través de alguna VPN y una velocidad de internet más lenta,
entonces la lentitud puede aumentar. Esto afecta al tiempo de desarrollo de un bot, ya
que al intentar mover un comando a otra posición, el delay de esta acción puede tardar.

Buenas prácticas
Si presentamos lentitud en las acciones, se recomienda primero que todo, definir bien el
proceso para no estar modificando cada vez y tener que arrastrar los comandos desde el
final hacia la posición deseada, también dividir aún más el flujo para trabajar con mini
bots que contengan una cantidad no mayor a 40 instrucciones.

Para arrastrar comandos y empezar a subirlos, se debe posicionar entre el término del
menú superior y el inicio del Dashboard (marcado en el recuadro rojo de la imagen de
abajo)

Documentación de Rocketbot Studio 151


Manual de Comandos y Buenas Prácticas

Al dejar el comando en esa posición, sin soltar el mouse, empezará a hacer scroll y
nuestra instrucción irá subiendo.

Y en el caso contrario, si queremos bajar una instrucción, el scroll lo realizará


posicionando el comando entre el final del dashboard y el inicio del footer

Documentación de Rocketbot Studio 152

También podría gustarte