Pasos a Seguir para la Migración de Bots de Virtualización
Virtualización en la Máquina Destino
Es recomendable realizar la virtualización directamente en la máquina o computadora final. Esto se debe a que la resolución de pantalla puede variar, lo que podría requerir ajustes en la configuración, similar a la máquina donde se realizó la virtualización inicialmente.
Consistencia de Imágenes de Referencia
Es posible que la imagen utilizada como referencia no sea la misma que la que se encuentra en la computadora de destino. En tal caso, será necesario capturar nuevamente las imágenes de referencia, incluyendo focos , como ejemplo, el comando “hacer clic en imagen” , etc.
Compatibilidad de Resolución y Zoom
Si la máquina en la que se trabaja es compatible tanto con la resolución como con el zoom utilizados al momento de capturar las pantallas en la referencia de virtualización, se deben seguir las siguientes consignas para asegurar una migración exitosa de los bots:
Registro de Comandos Al grabar un comando en el entorno de virtualización, las imágenes se almacenarán en una carpeta específica dentro del directorio de Rocketbot, bajo el nombre correspondiente al bot, en la ruta Rocketbot/robots. Esta carpeta es crucial, ya que las imágenes se utilizan como comandos en Rocketbot Studio, tales como “hacer clic en imagen” y “esperar por imagen”.
Migración del Archivo .db Para completar la migración del bot, es imprescindible transferir también el archivo .db. Este archivo es un componente básico del proceso de migración.
Consideraciones Finales
Asegurarse de seguir meticulosamente los pasos anteriores es esencial para lograr una migración exitosa de los bots de virtualización.
Una correcta transferencia de los componentes no solo garantizará que el bot funcione adecuadamente en su nuevo entorno, sino que también optimizará su rendimiento y facilitará futuras actualizaciones.
Adoptar un enfoque riguroso en este proceso es clave para minimizar cualquier inconveniente y asegurar un despliegue eficiente.
En caso de no entender algún concepto relacionado con la virtualización en Rocketbot Studio, se recomienda consultar la documentación : Documentación de Virtualización en Rocketbot.
Crear contraseña de aplicación para Gmail
Una contraseña para una aplicación es un password de 16 letras que Google almacena en su cuenta y que da acceso al sistema sin necesidad de que se produzca una verificación en dos pasos.
Para su configuración es necesario cumplir tener activo la verificación de segundo factor 2FA. En el caso de no tenerlo activado, no podrá crear una contraseña de aplicación. Para ello debemos de cumplir los siguientes pasos:
Primer Paso .- Activar verificación de segundo factor.
Lo primero que debes hacer es iniciar sesión en tu cuenta de Gmail, una vez conectado a tu cuenta, accede al menú de configuraciones. Lo encuentras en la parte superior derecha del navegador, en el círculo con tu avatar, luego debes elegir la opción «Cuenta de Google«
Te llevará a una pantalla de configuración de tu cuenta, donde tendrás que acceder al menú lateral»Seguridad»:
Verás una breve explicación sobre el doble factor de autenticación. Para iniciar este proceso haz clic en el botón «Empezar».
Vuelve a indicar la contraseña de tu cuenta en Google y haz clic en «Siguiente«:
Introduce tu número de teléfono y la forma que deseas recibir los códigos, a continuación pulsa en «Siguiente«:
Google te enviará los códigos de confirmación. Introduce tu código, a continuación pulsa en «Siguiente«:
Una vez confirmado tu número de teléfono, puedes empezar a configurar el 2FA, para ello haz clic en «Activar«:
Listo, su cuenta de gmail.com es segura y cuenta con una segunda capa de seguridad para acceder a su correo.
Segundo Paso .- Configurar una contraseña de Aplicación
La contraseña de aplicación se encuentra en la misma sección de Gestionar tu cuenta.
En la parte media de la página, en la sección iniciar sesión en google, encontrarás una parte donde pone contraseñas de aplicación: ninguna. Haz clic en ninguna o en la flecha hacia la derecha
En esta imágen de referencia notamos que ya existen 2 contraseñas de aplicación creadas, pero en el caso de no tener ninguna contraseña creada se mostrará la palabra NInguna.
En la siguiente pantalla pedirá que vuelvas a poner tu contraseña, por seguridad. Debes poner tu contraseña actual. No se va a cambiar, vamos a crear una especial. Una vez pongas tu contraseña, la siguiente pantalla es la que permite crear la nueva contraseña de aplicación
Puedes seleccionar en Otros (nombre personalizado) con la finalidad de asignarle un nombre.
Al dar clic , debemos colocar el nombre y pulsa el botón generar
Ahora por fin has creado una nueva contraseña de aplicación exclusiva para enviar emails desde cualquier App . Solamente, no sustituye a tu contraseña de gmail.
Datos para Configuración
Luego de crear la contraseña de aplicación, podrá configurar su cuenta en el portal. Los datos de envio son los siguiente:
Correo/Usuario: sucorreo@gmail.com (en el caso de google apps sería @sudominio.com)
Contraseña: La generada en el segundo paso.
Servidor SMTP : smtp.gmail.com
Puerto: 587
TLS : SI
Autenticación SMTP : SI
Aqui estan los links de los modulos donde se pueden ejecutar estas acciones :
Una contraseña para una aplicación es un password que Outlook almacena en su cuenta y que da acceso al sistema sin necesidad de que se produzca una verificación en dos pasos.
Para su configuración es necesario cumplir tener activo la verificación de segundo factor 2FA. En el caso de no tenerlo activado, no podrá crear una contraseña de aplicación. Para ello debemos de cumplir los siguientes pasos:
Primer Paso .- Activar verificación de segundo factor.
Lo primero que debes hacer es iniciar sesión en tu cuenta de Outlook, una vez conectado a tu cuenta, accede al menú de tu cuenta. Lo encuentras en la parte superior derecha del navegador, en el cícurlo con tu avatar, luego debes elegir la opción «Mi cuenta de Microsoft«
Te llevará a una pantalla, donde tendrás que acceder a la opción de »Seguridad»
Al presionar te mostrará una opción para acceder presionando en el botón de »Panel de seguridad»:
Serás redireccionado al panel de Seguridad, donde podrás ver las opciones de conceptos básicos. Para iniciar este proceso haz clic en la opción «Opciones de seguridad avanzada».
Luego de eso se le pedirá que confirme el número de telefono asociado a su cuenta, por lo cual debe ingresar los 4 últimos digitos para continuar.
Con la finalidad de poder explicar el método más siemple para la verificación de segundo factor, escogeremos la opción de «No, gracias» del panel de opciones.
Importante:
Cómo alternativa Outlook le ofrecerá utilizar su aplicación móvil para generar las contraseñas. Puede optar por ese procedimiento en el caso de que desee.
Al finalizar, se nos mostrará la siguiente pantalla de Seguridad, en donde podrá notar que la Verificación en dos pasos se encuentra DESACTIVADA , por lo que procedemos a dar clic en «Activar»
Al dar clic en la opción de Activar, se nos mostrará un nuevo cuadro de dialogo con diferentes opciones para verificar el acceso a la cuenta.
Usted puede escoger cualquiera de las 3 opciones que muestran a continuación. A continuación escogeremos la forma más sencilla de verificación de correo el cual es Unadirección de correo electrónico alternativa.
Importante:
Puede también escoger la opción de aplicación el cual le pedirá tener instalado una aplicación móvil. Ejemplo: Microsoft Authenticator o Google Authenticator.
Luego de colocar la cuenta de correo solo debe dar clic en siguiente y recibirá un email indicando la clave que debe agregar para validar su cuenta.
Luego de confirmar el código, su cuenta tendrá activada la Verificación de dos pasos.
Segundo Paso.- Configurar una contraseña de Aplicación
Para crear una nueva contraseña de aplicación para una aplicación o dispositivo, sigue los pasos que se indican a continuación. Puedes repetir estos pasos de creación de una contraseña de aplicación para todas las aplicaciones o dispositivos que necesites.
Dirígete a la página Conceptos básicos sobre seguridad e inicia sesión en tu cuenta de Microsoft y seleccionamos «Opciones de Seguridad».
En Contraseñas de aplicación, selecciona «Crear una nueva contraseña de aplicación».
Se genera una nueva contraseña de aplicación que aparece en la pantalla.
Datos para Configuración
Luego de crear la contraseña de aplicación, podrá configurar su cuenta en el portal. Los datos de envio son los siguiente:
Correo/Usuario: sucorreo@outlook.com (en el caso de Office365 sería @sudominio.com)
Contraseña: La generada en el segundo paso.
Servidor SMTP : outlook.office365.com
Puerto: 587
TLS : SI
Autenticación SMTP : SI
Aqui estaran disponibles los links a los modulos donde se puedan aplicar estas acciones :
Para acceder al comando, deben dirigirse a la sección nativa Frameworks, y dentro seleccionar Rocketbot Transaction Framework (RTFramework para abreviar). Al abrir se les mostrará la configuración del comando, tal cual la imagen de arriba, donde les permitirá seleccionar el robot que representará cada estado del proceso, ahondaremos en ello más adelante.
Durante la documentación estaremos revisando la base de datos RTFramework_example.db. El zip también incluye la base de datos RTFramework_template.db la cual es la estructura base, y el archivo Products_Table_framework.xlsx el cual se utiliza en la base de datos de ejemplo. Para poder probar la ejecución de ejemplo se debe dejar el archivo xlsx en la raíz de Rocketbot.
Vista general
Vista general del RTFrameworkVista de la asignación de variables de cada robot
Los robots utilizados en el Framework son ejecutados siguiendo la misma metodología que el comando Ejecutar robot Rocketbot (expose). Esto quiere decir que los robots no heredarán variables del padre, sino que se les asignará el valor desde el framework, además retornará el resultado de la ejecución, esto último deberá ser obligatorio en algunos de los robots que ejecutaremos para que todo funcione correctamente.
Robots del RTFramework
Main Robot
El robot principal es el que va a contener el comando del RTFramework.
Vista del comando del robot principal en la base de datos de ejemplo
Variables
RTFramework hace uso de diferentes variables durante su ejecución, en tu robot principal deberás crear las siguientes:
first_config: Variable opcional. En la db de ejemplo se envía como valor a la variable {Config} del robot First Execution Config. Su contenido es un diccionario con las llaves kill y resolution, datos que serán utilizados en el robot mencionado para matar procesos y para modificar la resolución de la pantalla respectivamente.
init_config: Variable opcional. En la db de ejemplo se envía como valor a la variable {Config} del robot Initialization. Su contenido es un diccionario con las llaves file y url, donde file es el archivo excel que se utilizará y url la página que se automatizará.
apps_opened: Variable opcional. En la db de ejemplo no tiene ningún valor por defecto, es utilizada para recibir parte del retorno de la ejecución de Initialization. Se utiliza como parámetro en el robot End Process para saber qué aplicaciones deben cerrarse al finalizar la ejecución.
TransactionData: Variable obligatoria. Se utiliza en el robot de Initialization y Get Transaction Data. En el retorno de información del robot Initialization debe asignarse la lista de información que será procesada en cada transacción.
TransactionItem: Variable obligatoria. Se utiliza en el robot Get Transaction Data para asignar un valor individual de la variable TransactionData. Este contenido que se obtenga se utilizará en el robot Process Transaction.
TransactionNumber: Variable obligatoria. Se utiliza en el robot Get Transaction Data y Process Transaction para indicar el número de transacción que se procesará. Su valor se generará automáticamente en base al número de transacción en curso durante la ejecución.
Status: Variable obligatoria. Se utiliza como variable de control en caso de que la ejecución falle en algún punto. Se debe utilizar en el catch de todos los robots del RTFramework, ahí se asignará el mensaje de error cuando un comando falla.
SystemException: Variable opcional. Acá se asignará el texto de cualquier excepción de sistema que ocurra durante la ejecución del RTFramework.
BusinessException: Variable opcional. Acá se asignará el texto de cualquier excepción de negocio que ocurra durante la ejecución del RTFramework.
First Execution Configuration
Vista de la selección de robot First Execution Config en base de datos de ejemplo
El primer robot que debemos seleccionar en el RTFramework es el de la primera configuración de ejecución. Este robot se encargará de preparar el ambiente donde ejecutaremos nuestro proceso.
Variables
Variables del robot en la db de ejemplo
Status: Variable obligatoria. Se utiliza como variable de control en caso de que la ejecución falle en algún punto. Se debe utilizar en el catch de todos los robots del RTFramework, ahí se asignará el mensaje de error cuando un comando falla.
killresolutionprocess: Variables opcionales. Son aquellas que se van a utilizar internamente dentro del robot de la db de ejemplo.
Config: Variable opcional expuesta que recibirá la información en la configuración del RTFramework.
En el ejemplo se le asigna el contenido de la variable {first_config} del robot principal
Estructura
El robot First Execution Config. debe seguir una estructura determinada para que el RTFramework funcione de manera correcta, a continuación la detallamos:
[Bloque TryCatch]
Try:
# Acá van los comandos que se ejecutarán como primer configuración
# de la ejecución
[Comandos de configuración]
# Al final de manera opcional puede ir un comando de
# Retornar informacion en caso de que necesitemos devolver
# algún dato al robot principal
[Retornar Informacion: Datos {var_retorno}]
Catch:
# El primer comando del Catch debe ser Último Estado.
# De esta manera obtenemos el código del error que pueda suceder y
# lo asignamos a la variable Status
[Último Estado: Variable Status]
# Luego pueden ir los comandos que podamos llegar a requerir para
# el manejo del error
[Comandos de manejo de error]
# Al igual que con el bloque try, debajo de todo el catch debe ir
# un comando de Retornar Informacion indicando en el input la
# variable Status
[Retornar informacion: Datos {Status}]
Initialization
Vista de la selección de robot Initialization en base de datos de ejemplo
El segundo robot que debemos seleccionar es el de la inicialización. Este robot se encargará de abrir las aplicaciones que se utilizarán en el RTFramework y obtener la información de las transacciones que se utilizarán durante el proceso.
Variables
Variables del robot en la db de ejemplo
La variable Status es la que recibirá el mensaje de error en caso de que algún comando falle. Config es una variable expuesta que recibirá la información en la configuración del RTFramework. data_list guardará la lista de información que se procesará y deberá ser devuelta como valor bajo la llave TransactionData en el último comando dentro del try en el robot. El resto de variables son específicas del ejemplo.
En el ejemplo se le asigna el contenido de la variable {init_config} del robot principal
Estructura
El robot Initialization debe seguir una estructura determinada para que el RTFramework funcione de manera correcta, a continuación la detallamos:
[Bloque TryCatch]
Try:
# Acá van los comandos que se ejecutarán como inicialización
[Comandos de inicializacion]
# Al final de manera obligatoria debe ir un comando de
# Retornar informacion que incluya un diccionario con, al menos,
# la llave TransactionData que contenga una lista de los datos que
# se utilizarán en el proceso. De manera opcional puede incluir
# otras llaves con valores que deseemos asignar en el padre.
[Retornar Informacion: Datos {"TransactionData": "{data_list}"}]
Catch:
# El primer comando del Catch debe ser Último Estado.
# De esta manera obtenemos el código del error que pueda suceder y
# lo asignamos a la variable Status
[Último Estado: Variable Status]
# Luego pueden ir los comandos que podamos llegar a requerir para
# el manejo del error
[Comandos de manejo de error]
# Al igual que con el bloque try, debajo de todo el catch debe ir
# un comando de Retornar Informacion indicando en el input la
# variable Status
[Retornar informacion: Datos {Status}]
Get Transaction Data
Vista de la selección de robot Get Transaction Data en base de datos de ejemplo
El tercer robot que debemos elegir es el encargado de obtener información de la transacción. Su tarea será identificar la próxima transacción a procesar, la cual será enviada al robot Process Transaction.
Variables
Variables del robot en la db de ejemplo
Status: Variable obligatoria. Se utiliza como variable de control en caso de que la ejecución falle en algún punto. Se debe utilizar en el catch de todos los robots del RTFramework, ahí se asignará el mensaje de error cuando un comando falla.
TransactionNumber: Variable obligatoria expuesta. Se utilizará internamente para saber qué numero de transacción se procesará a continuación.
TransactionItem: Variable obligatoria. Durante el proceso incluirá el contenido de la transacción que se procesará.
TransactionData: Variable obligatoria expuesta. Es la variable que contiene todas las transacciones que se utilizan durante el proceso.
En la db de ejemplo se asignan a ambas variables su valor correspondiente desde el padre.
Estructura
El robot Get Transaction Data debe seguir una estructura determinada para que el RTFramework funcione de manera correcta, a continuación la detallamos:
[Bloque TryCatch]
Try:
# Grupo de comando destinado a contener la lógica que obtiene la próxima
# transacción a procesar
Group:
# Si el número de transacción es menor al largo de la lista de
# transacciones, obtengo el siguiente item
IF: {TransactionNumber} < len({TransactionData})
[Asignar Variable: {TransactionData}[{TransactionNumber}
Dest.: TransactionItem]
# Si no se cumple significa que se procesaron todas las transacciones,
# entonces devolvemos None para dar paso a la finalización de la
# ejecución.
ELSE:
[Asignar variable: None
Dest.: TransactionItem]
# Acá aplicamos los comandos que necesitemos ejecutar (opcional)
[Comandos opcionales al obtener la información de la transacción]
# Al final de manera obligatoria debe ir un comando de
# Retornar informacion que incluya un diccionario con, al menos,
# la llave TransactionItem que contenga el valor de su respectiva variable.
# De manera opcional puede incluir otras llaves con valores que deseemos
# asignar en el padre.
[Retornar Informacion: Datos {"TransactionItem": "{TransactionItem}"}]
Catch:
# El primer comando del Catch debe ser Último Estado.
# De esta manera obtenemos el código del error que pueda suceder y
# lo asignamos a la variable Status
[Último Estado: Variable Status]
# Luego pueden ir los comandos que podamos llegar a requerir para
# el manejo del error
[Comandos de manejo de error]
# Al igual que con el bloque try, debajo de todo el catch debe ir
# un comando de Retornar Informacion indicando en el input la
# variable Status
[Retornar informacion: Datos {Status}]
Process Transaction
Vista de la selección del robot y la cantidad de reintentos del robot Process Transaction
El cuarto robot que debemos seleccionar es el que procesa una única transacción. Este robot recibirá como dato la transacción obtenida en el paso anterior, realizará los pasos que necesitemos y finalmente deberá devolver el item de transacción y el número de la misma. En la ejecución de cada transacción pueden haber tres posibles resultados:
Éxito: Este resultado ocurre cuando todo el proceso se ejecutó correctamente, sin errores ya sean controlados o no controlados. En este caso, se continúa con la siguiente transacción a procesar.
Business Exception: Este resultado ocurre cuando el proceso se encuentra con un error controlado. Son errores predecibles basados en las reglas de negocio que se conocen y se definen con antelación (ver cómo configurarlas en la sección Estructura> Catch). Si un proceso cae bajo este resultado, la transacción se reintentará el número de veces que le indiquemos en el input Max Retries.
System Exception: Este resultado ocurre cuando el proceso se encuentra con un error no controlado. Pueden ser causados por problemas en el entorno de ejecución o en el sistema. Si un proceso cae bajo este resultado, el proceso se cancela y se ejecuta el robot Initialization, para reintentar toda la ejecución del RTFramework nuevamente.
Variables
Status: Variable obligatoria. Se utiliza como variable de control en caso de que la ejecución falle en algún punto. Se debe utilizar en el catch de todos los robots del RTFramework, ahí se asignará el mensaje de error cuando un comando falla.
product, color, category, price: Variables opcionales de ejemplo que son utilizadas para manejar dentro del proceso la diferente información que contiene mi transacción.
Exception: Variable obligatoria. Cuando la ejecución no funciona de manera esperada, esta variable recibirá el mensaje de error. Esta variable es muy importante ya que forma parte del manejo de errores para decidir si es una excepción de negocio o excepción del sistema.
TransactionItem: Variable obligatoria (expuesta). Durante el proceso incluirá el contenido de la transacción que se procesará.
TransactionNumber: Variable obligatoria (expuesta). Es la variable que indica el número de transacción que se realiza.
En el ejemplo se asigna a cada una su variable correspondiente del bot padre.
Estructura
El robot Process Transaction debe seguir una estructura determinada para que el RTFramework funcione de manera correcta, a continuación la detallamos:
[Bloque TryCatch]
Try:
# Acá van los comandos que realizarán el proceso de la transacción
[Comandos de manejo de transación]
# Al final del try de manera obligatoria deben ir dos comandos:
# Asignar variable que sume uno a TransactionNumber
# El comando Retornar Información que devuelva TransactionItem y
# TransactionNumber, junto con cualquier otro contenido opcional
[Retornar Informacion: Datos {"TransactionItem": "{TransactionItem}",
"TransactionNumber": "{TransactionNumber}"}]
Catch:
# El primer comando del Catch debe ser Último Estado.
# De esta manera obtenemos el código del error que pueda suceder y
# lo asignamos a la variable Status
[Último Estado: Variable Status]
# Luego asignamos a la variable Exception el mensaje del error
[Asignar Variable: {Status}.get('message')
Dest: Exception]
# En este punto se deben establecer las reglas de negocio. En la db de
# ejemplo se utiliza un IF que comprueba si en el mensaje del error que
# ocurrió se encuentra el texto "Unable to locate element". Este error es
# muy común en automatizaciones web cuando un elemento no puede ser ubicado
# en la página. A veces se soluciona con un reintento, entonces quiero
# establecer este caso como un Business Exception.
IF: "Unable to locate element" in """{Exception}"""
True:
# En este punto debemos retornar un diccionario con, al menos, la
# llave BusinessException que contenga el texto del error.
[Retornar informacion: Datos {'BusinessException': '{Exception}'}]
False:
# Si llegamos a este punto es porque es un error no controlado.
# Por lo tanto, debemos retornar todo el contenido de la variable
# Status, generando un System Exception.
[Retornar informacion: Datos {Status}]
End Process
Vista de la selección del robot End Process en la base de datos de ejemplo.
El quinto y último robot que debemos seleccionar es el que finaliza la ejecución. Este robot se deberá encargar de enviar los reportes, cerrar los procesos que utilicemos durante la ejecución, etc…
Variables
No recibe ninguna variable obligatoria por parte del padre. En la db de ejemplo, se le comparte la variable apps_opened que indica las aplicaciones abiertas, de esta manera el robot se puede encargar de cerrarlas correctamente.
Estructura
Al igual que el resto de robots, End Process debe utilizar try catch, sin embargo dentro del try tendremos la libertad de utilizarlo como lo necesitemos, sin seguir una estructura predefinida ni devolviendo nada específico al padre. Por otro lado, en el catch debemos colocar como primer comando Último Estado y al final de todo el Retornar Información que devuelva dicha variable.
[Bloque TryCatch]
Try:
# Acá van los comandos que se ejecutarán para finalizar la ejecución
# (cierre de apps, envio de reportes, etc...)
[Comandos de finalización]
Catch:
# El primer comando del Catch debe ser Último Estado.
# De esta manera obtenemos el código del error que pueda suceder y
# lo asignamos a la variable Status
[Último Estado: Variable Status]
# Luego pueden ir los comandos que podamos llegar a requerir para
# el manejo del error
[Comandos de manejo de error]
# Debajo de todo el catch debe ir un comando de
# Retornar Informacion indicando en el input la
# variable Status
[Retornar informacion: Datos {Status}]
Click relativo en Objeto
Windows \ Click relativo en Objeto
Este comando le permite automatizar el clic en un objeto en una interfaz gráfica de usuario (GUI) en función de la posición del elemento identificado más cercano. Este comando es particularmente útil cuando desea interactuar con botones, enlaces u otros elementos en los que se puede hacer clic dentro de la ventana de una aplicación, pero no se reconocen como elementos separados. Utilizando las coordenadas de su elemento más cercano, el registrador guarda la posición del ratón al hacer el clic.
Dato de entrada
Descripción
Ejemplo
Selector
Propiedad de texto utilizada para encontrar un elemento de IU particular. Es un fragmento XML o JSON que especifica los atributos del elemento de GUI que está buscando y de algunos de sus padres.
Tiempo de espera para que se ejecute la actividad antes de que se genere un error. El valor predeterminado es 30 segundos.
30
Tipo de Click
Especifica el tipo de clic del mouse (simple, doble, mantener, soltar) que se usa al simular el evento de clic. Por defecto, se selecciona un solo clic.
Click Doble
Botón de Mouse
El botón del mouse (izquierdo, derecho, medio) utilizado para la acción de clic. Por defecto, el botón izquierdo del ratón está seleccionado.
Botón Izquierdo
Identificador de la ventana
Escribir solo si desea controlar más de una ventana. Por defecto es ‘DEFAULT’
ventana1
Imagen de ejemplo
💡Nota: Para utilizar correctamente este comando, con Desktop Recorder tendrá que grabar la aplicación a la que requiere conectarse así como las acciones que quiere realizar en ella. Al importar la grabación .json visualizará el comando creado, el cual ya viene con los datos necesarios como el selector de la app grabada.
Arrastrar a la imagen
Virtualización \ Arrastrar hasta imagen
Este comando se utiliza para mover el mouse sobre una imagen específica dentro de un elemento de la interfaz de usuario mientras se mantiene presionado. Es un comando muy útil cuando quieres interactuar con un elemento en la pantalla que no se puede seleccionar fácilmente mediante métodos tradicionales, como botones o enlaces.
Datos de entrada
Descripción
Ejemplo
Ajustar a la resolución de ejecución
Check si se quiere ajustar a la resolución de la ejecución
Posición
Posición donde se dará click, puede elegir entre: Center, Top, Center Top, Right, Center Right, Bottom, Center Bottom, Left y Center Left.
Center
Precisión
Precisión de la búsqueda de imágenes. Generalmente utilizamos 0.8 o 0.7 que corresponde al 80% o 70% de exactitud en cuanto a la imagen.
0.8
Escala de grises
Si se selecciona Sí, buscará la imagen en escala de grises.
No
Mín. Tiempo de búsqueda
Segundos a esperar para que aparezca la imagen.
3
Texto
Opcional. Palabra donde se encuentra la imagen.
Imagen de ejemplo
💡Nota: Una vez que el comando toma la captura de pantalla, los parámetros Imagen de referencia y Hacer click se asignan automáticamente al dar click en Seleccionar Referencia y Seleccionar Foco respectivamente.
Mover a la imagen
Virtualización \ Mover a la imagen
Este comando se utiliza para mover el mouse sobre una imagen específica dentro de un elemento de la interfaz de usuario. Es un comando muy útil cuando quieres interactuar con un elemento en la pantalla que no se puede seleccionar fácilmente mediante métodos tradicionales, como botones o enlaces.
Datos de entrada
Descripción
Ejemplo
Ajustar a la resolución de ejecución
Check si se quiere ajustar a la resolución de la ejecución
Posición
Posición donde se dará click, puede elegir entre: Center, Top, Center Top, Right, Center Right, Bottom, Center Bottom, Left y Center Left.
Center
Precisión
Precisión de la búsqueda de imágenes. Generalmente utilizamos 0.8 o 0.7 que corresponde al 80% o 70% de exactitud en cuanto a la imagen.
0.8
Escala de grises
Si se selecciona Sí, buscará la imagen en escala de grises.
No
Mín. Tiempo de búsqueda
Segundos a esperar para que aparezca la imagen.
3
Texto
Opcional. Palabra donde se encuentra la imagen.
Imagen de ejemplo
💡Nota: Una vez que el comando toma la captura de pantalla, los parámetros Imagen de referencia y Hacer click se asignan automáticamente al dar click en Seleccionar Referencia y Seleccionar Foco respectivamente.
Ejecutar archivo Powershell
Scripts \ Ejecutar archivo Powershell
Este comando se utiliza para abrir, leer y ejecutar un archivo ‘.ps1’ pasando los argumentos necesarios para hacerlo.
Datos de entrada
Descripción
Ejemplo
Archivo .PS1
La ruta al archivo PS1
C:/Users/User/Documents/file.ps1
Argumentos
Si necesita pasar argumentos al script, puede proporcionarlos aquí. Este parámetro es opcional, por lo que puedes dejarlo en blanco.
arg1
Imagen de ejemplo del comando
Ejecutar archivo de script de Visual Basic
Scripts \ Ejecutar archivo de script de Visual Basic
Este comando se utiliza para abrir, leer y ejecutar un archivo ‘.vbs’ pasando los argumentos necesarios para hacerlo.
Datos de entrada
Descripción
Ejemplo
VBS file
Ruta al archivo VBS
C:/Users/User/Documents/file.vbs
Arguments
Si necesita pasar argumentos al script, puede proporcionarlos utilizando este parámetro. Este parámetro es opcional, por lo que puedes dejarlo en blanco.
arg1, arg2, arg3
Encoding type
Tipo de codificación para decodificar el resultado
utf-8
Asignar resultado a variable
Variable donde se guardará el resultado
{res}
Imagen de ejemplo
Obtener Proceso
Sistema \ Obtener Proceso
Este comando le permite recuperar una lista de todos los procesos actualmente en ejecución en su máquina que coinciden con la condición especificada. Para utilizar este comando debe proporcionar la condición y el valor para filtrar los procesos, puede ser el nombre o PID del proceso a filtrar.
Dato de entrada
Descripción
Ejemplo
Condición
Condición para filtrar los procesos. Puede ser PID o Name
Name
PID o Nombre
Valor para filtrar los procesos. Puede ser PID o Name
Excel
Variable
Variable donde se almacenará el resultado del comando
{var}
Este comando es útil cuando se necesita recopilar información sobre un proceso que se ejecuta en segundo plano, por ejemplo, para monitorear cualquier proceso específico que pueda estar consumiendo mucho de memoria o recursos de CPU.