hace 2 años
Robot Framework es un popular framework de automatización de código abierto utilizado para pruebas de aceptación, desarrollo de pruebas de aceptación guiadas por comportamiento (ATDD) y automatización robótica de procesos (RPA). Emplea una metodología de prueba dirigida por palabras clave y su funcionalidad se puede ampliar mediante bibliotecas de prueba que se pueden implementar en Python o Java.

Arquitectura del Robot Framework
La arquitectura modular del Robot Framework le permite ser ampliado con bibliotecas personalizadas. Su funcionamiento se basa en la lectura de datos de prueba, generalmente en formato tabular, fácil de editar. El núcleo del framework no tiene conocimiento directo del sistema bajo prueba; la interacción se realiza a través de bibliotecas. Estas bibliotecas pueden interactuar directamente con la interfaz de la aplicación o utilizar herramientas de prueba de bajo nivel como controladores. El proceso comienza con la lectura y análisis de los datos de prueba. Luego, usa las palabras clave proporcionadas por las bibliotecas para interactuar con el sistema objetivo. Finalmente, genera informes y registros en formato HTML y XML.
Componentes Clave de la Arquitectura
- Datos de prueba: Generalmente en formato tabular, permitiendo una fácil edición y comprensión.
- Bibliotecas: El elemento central que interactua con el sistema bajo prueba. Pueden ser bibliotecas estándar o personalizadas, desarrolladas en Python o Java.
- Palabras clave: Acciones específicas que realizan las bibliotecas, facilitando la automatización de tareas complejas.
- Motor de ejecución: El corazón del framework que procesa los datos de prueba y ejecuta las palabras clave.
- Generación de reportes: Produce informes detallados en HTML y XML, mostrando el resultado de las pruebas.
Bibliotecas Estándar
Robot Framework incluye varias bibliotecas estándar que proporcionan funcionalidades comunes. Algunas de las más importantes son:
- BuiltIn: Contiene palabras clave ampliamente usadas, importadas automáticamente.
- Collections: Maneja listas y diccionarios de Python.
- DateTime: Permite la manipulación de fechas y horas.
- Dialogs: Facilita la interacción con el usuario durante la ejecución de pruebas.
- OperatingSystem: Permite realizar tareas relacionadas con el sistema operativo, como ejecutar comandos o manipular archivos.
- Process: Gestiona procesos en el sistema, permitiendo iniciar, detener y esperar la finalización de procesos.
- Screenshot: Captura imágenes de la pantalla durante la ejecución de las pruebas.
- String: Ofrece funciones para manipular cadenas de texto.
- Telnet: Facilita la comunicación a través de conexiones Telnet.
- XML: Permite la manipulación y verificación de documentos XML.
Herramientas Integradas
Robot Framework incluye herramientas integradas que facilitan el desarrollo y la gestión de pruebas:
- Testdoc: Genera documentación HTML a partir de los casos de prueba.
- Rebot: Combina múltiples resultados de ejecución XML y genera informes y logs.
- Tidy: Limpia y formatea archivos de datos.
- Libdoc: Genera documentación para bibliotecas y archivos de recursos.
Casos de Prueba
Los casos de prueba en Robot Framework se escriben en un formato tabular simple y legible, basado en palabras clave. Se sigue un enfoque de prueba dirigido por palabras clave, utilizando un lenguaje cercano al lenguaje natural. Los casos de prueba se construyen a partir de palabras clave disponibles en bibliotecas, archivos de recursos o palabras clave personalizadas.
Tipos de Casos de Prueba
- Flujo de Trabajo: Describen secuencias de acciones.
- Pruebas de Alto Nivel: Utilizan palabras clave de otros niveles para crear pruebas más abstractas.
- Pruebas Dirigidas por Datos: Permiten separar los datos de prueba de la lógica de la prueba, facilitando la ejecución de la misma prueba con diferentes conjuntos de datos.
Palabras Clave
Las palabras clave son la base de los casos de prueba. Pueden ser:
- Palabras clave de Biblioteca: Definidas en bibliotecas estándar o personalizadas. Son las acciones más básicas.
- Palabras clave de Usuario: Palabras clave de alto nivel, definidas por el usuario, que agrupan varias acciones de bajo nivel.
Organización de Casos de Prueba
Los casos de prueba se organizan en archivos y directorios, formando una jerarquía de suites de pruebas. Cada archivo de casos de prueba forma una suite de prueba, y los directorios agrupan suites de prueba para una mejor organización.

Ventajas del Robot Framework
- Fácil de usar e instalar.
- Código abierto y gratuito.
- Multiplataforma y compatible con diversas bibliotecas externas (ej. Selenium).
- Soporta diferentes enfoques de pruebas (comportamiento-dirigido, palabra clave-dirigido, datos-dirigido).
- Se puede utilizar con diferentes IDEs o editores de texto.
Desventajas del Robot Framework
- Limitaciones en la ejecución paralela de pruebas.
- Personalización de reportes HTML no tan intuitiva.
Limitaciones del Robot Framework
- Falta de soporte para estructuras condicionales complejas (if-else anidados) y bucles anidados, lo que puede ser una limitación en pruebas complejas.
Robot Framework es un potente framework de automatización de pruebas, ideal para pruebas de aceptación y ATDD. Su enfoque basado en palabras clave y su estructura modular lo hacen flexible y fácil de usar, tanto para principiantes como para expertos. Si bien presenta algunas limitaciones, sus ventajas superan ampliamente sus desventajas, convirtiéndolo en una excelente opción para la automatización de pruebas.
