Probando Herramientas Localmente

José David Updated by José David

El comando weni run te permite ejecutar y depurar tus herramientas en tiempo real y de manera local. Es una funcionalidad esencial para construir herramientas robustas y escalables sin necesidad de desplegarlas en la plataforma con cada cambio.

Requisitos para una Prueba Local

Para ejecutar una prueba, necesitas tres componentes principales:

  1. Una Herramienta: El código Python de tu herramienta y sus dependencias definidas en requirements.txt.
Para más detalles, consulta la guía de Herramientas (Tools).
  1. Una Definición de Pruebas: Un archivo YAML (por defecto, test_definition.yaml) que contenga los casos de prueba. Debes crearlo dentro del directorio de tu herramienta.
tests:
test_1: # Primera prueba
parameters:
cep: "57160000"
test_2: # Segunda prueba
parameters:
cep: "57038-635"
test_3:
parameters:
cep: "57160-000"
  1. Credenciales (Opcional): Si tu herramienta necesita credenciales, debes proporcionar un archivo .env en el directorio de la misma.
Revisa la guía de Gestión de Credenciales para aprender a configurarlas correctamente.

Ejecución de Pruebas

Uso del Comando

El formato que tendría el comando para correr una prueba local es el siguiente:

weni run [archivo_definicion] [slug_agente] [slug_herramienta]

Aterrizándolo al ejemplo que hemos venido desarrollando a lo largo de la documentación, si quisiéramos probar nuestro agente que busca CEP, tendriamos que accionar este comando:

weni run agent_definition.yaml cep_agent get_address

Como resultado, recibiríamos esta respuesta en la terminal:

Depuración con la Bandera -v

Para obtener una salida más detallada con logs de ejecución, añade la bandera -v al final del comando. Es muy útil para depurar problemas. Con esta adición, obtendríamos más detalles de cada una de las pruebas que estamos corriendo:

Elegir un Archivo de Pruebas Específico (-f)

Puedes usar la bandera -f o --file para indicar un archivo de pruebas con un nombre diferente.

weni run [archivo_definicion] [slug_agente] [slug_herramienta] -f [pruebas_alternativas].yaml

Si no se especifica, la CLI buscará el archivo definido en source.path_test en tu agent_definition.yaml, o test_definition.yaml por defecto.

Descubrimiento de Archivos .env y .globals

La CLI busca automáticamente los siguientes archivos en el directorio de tu herramienta:

  • .env: Para credenciales sensibles, expuestas en context.credentials.
  • .globals: Para variables globales no sensibles (ej. constantes, URLs base), expuestas en context.globals.

How did we do?

Revisando Logs de Pruebas Locales

Contact