Abril 2024
Orquestador de BotCity¶
Generador de fragmentos de código¶
Estamos introduciendo la nueva función de Generador de fragmentos de código.
Nuestro interés al hacer esto es involucrar más a los usuarios con las características más avanzadas y permitirles mejorar su experiencia simplemente accediendo a lo que ya está disponible para ellos.
Encontrar fragmentos de código personalizados¶
Cada característica del Orquestador tendrá la función de Generador de fragmentos de código.
Haz clic en este botón para encontrar fragmentos de código para varios casos de uso.
Los usuarios podrán elegir en qué lenguaje desean que esté el fragmento de código, con opciones de Python, Java, JavaScript y TypeScript.
Y si hay un atributo específico en el fragmento de código, el usuario puede seleccionarlo directamente en la pantalla. En este ejemplo, pueden seleccionar el tipo de archivo que desean importar al realizar una acción de carga de artefacto.
Obtener el código en tu IDE¶
Después de seleccionar el caso de uso, el lenguaje y cualquier atributo especial, se genera un fragmento de código... Este código se puede copiar utilizando el botón "copiar código" y pegarlo en el IDE preferido del usuario.
Nota: No es posible editar el código dentro del generador de fragmentos de código. Si el usuario desea editar algo, debe hacerlo directamente en su IDE.
Si tienes preguntas¶
Si tienes preguntas sobre un caso de uso o un fragmento de código, puedes consultar la documentación de Botcity a través del hipervínculo "cómo usar".
Características del producto que incluyen la función [generador de fragmentos de código]:
- Data Pool
- Nueva tarea
- Alertas
- Registro de errores
- Registro de ejecución
- Archivos de resultado
- Credenciales
Implementación fácil para automatizaciones existentes¶
Nos dimos cuenta de que algunos usuarios estaban intentando utilizar la función de Implementación fácil para cargar nuevos bots en automatizaciones existentes, y hasta ahora no era posible, así que cambiamos eso.
Ahora será posible implementar un bot para una automatización nueva o existente a través de esta función, facilitando la implementación de un nuevo bot en cualquier automatización.
Dos opciones para comenzar¶
Ahora, al comienzo del flujo de Implementación fácil, hay estas dos opciones:
- Crear nueva automatización
- Elegir automatización existente
Después de eso, los dos caminos son bastante similares, solo con algunas diferencias. En el camino de la automatización existente, algunos datos ya vienen completados y otros no se pueden editar.
Opción de liberar el bot¶
Ahora es posible liberar el bot que se está implementando seleccionando esta opción aquí:
Necesitas un Runner para comenzar¶
Otra cosa que cambiamos es que ya no es posible crear un nuevo Runner en este flujo, así que si el espacio de trabajo aún no tiene un Runner, el usuario verá esta pantalla, que lo llevará a la descarga del SDK e instrucciones.
BotCity Studio SDK - 2.20.0¶
Warning
Se recomienda encarecidamente la actualización a esta nueva versión, ya que trae grandes mejoras para el BotCity Runner en cuanto a cómo se manejan los archivos de registro y la estabilidad general.
BotCity Studio - Versión 2.20.0¶
Esta versión de BotCity Studio recibió una mejora de características y varias correcciones de problemas/errores.
Especificar un repositorio durante la implementación¶
Si utilizas BotCity Studio para implementar, actualizar y liberar tus bots en BotCity Orchestrator, ahora podrás especificar el repositorio adecuado en el que asignar tu bot.
Problemas/Errores solucionados¶
- Se solucionó un error que hacía que Studio tomara una captura de pantalla cuando se presionaba
*
en el teclado numérico. - Se solucionó un problema que hacía que el icono de Studio parpadeara en la barra de inicio cuando se tomaba una captura de pantalla.
- Se solucionó un problema que hacía que la lista de archivos del proyecto estuviera desincronizada con el disco.
- Se solucionó un problema que hacía que el panel de imágenes de la interfaz de usuario tuviera una dimensión diferente a la resolución de la pantalla.
Runner - Versión 2.8.4¶
La versión 2.8.4 de BotCity Runner ofrece una mayor estabilidad frente a problemas de conectividad, así como algunas mejoras de registro deseadas desde hace mucho tiempo.
Estabilidad¶
Ahora, si la comunicación con BotCity Orchestrator falla debido a un problema de conectividad, BotCity Runner volverá a intentar las operaciones.
Se agregó un enfoque especial al procedimiento de descarga del bot, en el que BotCity Runner volverá a intentar la descarga hasta 5 veces antes de informar un error.
Registros¶
En versiones anteriores, el archivo de registro, log.txt
, se reiniciaba constantemente cada vez que se reiniciaba el Runner. Además, no había límite de tamaño, lo que causaba problemas en operaciones de larga duración.
A partir de esta versión, los registros ahora se encuentran dentro de la carpeta logs
y nunca se sobrescriben.
También se agregó una función para rotar el registro en caso de que ocurra una de las siguientes situaciones:
- Comienza un nuevo día
- El registro alcanza un tamaño de 3MB
Tip
También agregamos protección para asegurarnos de que la carpeta de registros no crezca indefinidamente.
El sistema eliminará automáticamente los archivos de registro antiguos cuando el tamaño de la carpeta de registros alcance 1GB o los archivos tengan más de 7 días.
Consulta la documentación de BotCity Runner para obtener opciones de personalización e información adicional.
Problemas/Errores solucionados¶
- Se solucionó un problema que hacía que
PYTHONPATH
se sobrescribiera por el Runner.
CLI - Versión 1.2.4¶
Esta nueva versión de la CLI de BotCity trae muchas mejoras en las características, mejores mensajes de error y una salida visual de los comandos.
Especificar el repositorio¶
Ahora puedes especificar un repositorio
al implementar un bot o al crear un nuevo registro de ejecución.
Parámetros para programación¶
Al crear una nueva programación para una automatización determinada, ahora puedes especificar los parámetros asociados con esta instancia de programación. Obtén más información y ve ejemplos aquí.
Informe de tarea mejorado¶
El comando de informe de tarea para exportar datos de la cola de tareas se mejoró para proporcionar más información.
Los nuevos campos son:
- Etiqueta del Repositorio
- Total de Elementos, Elementos Procesados y Elementos Fallidos
- Fecha de Inicio de Ejecución
- Duración (Segundos)
Haz clic aquí para obtener más información sobre esta función.
Mejora en la salida visual y mensajes de error¶
Seguridad¶
Nuestro equipo ha actualizado todas las dependencias externas para incorporar correcciones de posibles vulnerabilidades y mejoras de rendimiento.
Frameworks de Python¶
Soporte para Python 3.12¶
Todos los frameworks y complementos ahora son totalmente compatibles con Python 3.12.
Si encuentras algún problema, por favor, repórtalo a nuestro equipo de Automation Experience.
BotCity Maestro SDK - Versión 0.5.1¶
Note
Esta versión elimina la capa de compatibilidad con la API v1 de BotCity Orchestrator, que ya no está disponible en ninguno de nuestros servidores.
Reporte del número total de elementos procesados, con éxito y fallidos¶
Ahora puedes especificar el número total de elementos y el número de elementos procesados con éxito y fallidos por cada una de tus tareas al informar su estado de finalización utilizando el método maestro.finish_task
.
Important
Se recomienda encarecidamente este cambio, ya que será un aspecto clave del BotCity Orchestrator y BotCity Insights relacionado con el ROI, los ahorros y los FTEs.
Así es como puedes modificar tu código para informar tus elementos:
# Import for integration with BotCity Maestro SDK
from botcity.maestro import *
def main():
...
maestro.finish_task(
task_id=execution.task_id,
status=AutomationTaskFinishStatus.SUCCESS,
message="Task Finished with Success.",
total_items=10,
processed_items=6,
failed_items=4
)
...
Simulación de llamadas al SDK cuando se está desconectado¶
Ahora puedes habilitar una nueva opción MOCK_OBJECT_WHEN_DISCONNECTED
para devolver instancias del objeto esperado cuando se ejecuta el código desconectado del orquestador.
Antes de esta opción, el SDK devolvía None
o una función ficticia que hacía que el código como el ejemplo siguiente fallara.
# Import for integration with BotCity Maestro SDK
from botcity.maestro import *
# Disable errors if we are not connected to Maestro
BotMaestroSDK.RAISE_NOT_CONNECTED = False
# Opt-in to receive mock objects when not connected to Maestro
BotMaestroSDK.MOCK_OBJECT_WHEN_DISCONNECTED = True
def main():
maestro = BotMaestroSDK()
maestro.from_sys_args()
task = maestro.get_task("12345")
print("Maestro Task: ", task)
print("Task Interrupted: ", task.is_interrupted())
if __name__ == '__main__':
main()
"""
This will generate the following output:
Maestro Task:
AutomationTask(
id=0, state=<AutomationTaskState.START: 'START'>,
parameters=None, input_file=None, activity_id=0,
activity_label=None, agent_id=0,
user_creation_id=0, user_creation_name=None,
org_creation_id=0, date_creation=None, date_last_modified=None,
finish_status=<AutomationTaskFinishStatus.FAILED: 'FAILED'>, finish_message=None,
test=False, interrupted=False, killed=False, machine_id=None
)
Task Interrupted: False
"""
Problemas/Bugs solucionados¶
- Se solucionó un problema en el que no se utilizaba la bandera
VERIFY_SSL_CERT
al realizar solicitudes. - Se solucionó un problema en el que el valor
timeout
no se propagaba correctamente cuando estaba configurado.
BotCity Framework Web - Versión 1.0.0¶
Esta es una versión importante, ya que cambia la versión principal de Selenium de 3 a 4.
Nuestro equipo ha sido diligente al crear una capa de compatibilidad para evitar problemas con el código existente siempre que sea posible bajo las llamadas de método encapsuladas.
Para utilizar esta nueva versión, recomendamos que cambies la versión en tu archivo requirements.txt
a algo similar a esto:
Soporte para Selenium 4¶
Nuestro framework se ha actualizado para admitir la versión 4 de Selenium con una capa de compatibilidad hacia atrás para la sintaxis de Selenium 3.x.
Si encuentras algún problema, por favor, informa tus hallazgos a nuestro equipo de Automation Experience o abre un problema en nuestro repositorio de GitHub.
Soporte experimental para undetected_chromedriver
¶
Esta versión agrega soporte experimental para undetected_chromedriver
como uno de los navegadores posibles. Obtén más información sobre undetected_chromedriver haciendo clic aquí.
Puedes probarlo cambiando la propiedad browser
a UNDETECTED_CHROME
:
# Import the Browser enum
from botcity.web import WebBot, Browser
def main():
# Instantiate the WebBot.
bot = WebBot()
# Configure whether or not to run on headless mode.
bot.headless = False
# Configure the browser as UNDETECTED CHROME
bot.browser = Browser.UNDETECTED_CHROME
...
Important
Ten en cuenta que no se garantiza que tu automatización no sea detectada por mecanismos de detección de bots.
Limpieza automática del navegador¶
Hemos añadido un gancho atexit
para asegurarnos de que stop_browser
siempre se invoque.
Esto ayuda a evitar problemas en los que el código se queda en ejecución y bloquea el BotCity Runner hasta que el controlador web finaliza debido a que el código no llama a stop_browser
al final.
Problemas/Bugs solucionados¶
- Se desactivó la protección de pantalla inteligente en Microsoft Edge.
- Se solucionó un problema cuando no había ninguna pestaña activa al detener el navegador.
Frameworks de Java¶
BotCity Maestro SDK - Versión 2.2.0¶
Reporte del número total de elementos procesados, con éxito y fallidos¶
Ahora puedes especificar el número total de elementos y el número de elementos procesados con éxito y fallidos por cada una de tus tareas al informar su estado de finalización utilizando el método maestro.finishTask
.
Important
Se recomienda encarecidamente este cambio, ya que será un aspecto clave del BotCity Orchestrator y BotCity Insights relacionado con el ROI, los ahorros y los FTEs.
Así es como puedes modificar tu código para informar tus elementos: