hace 2 años
Robot Framework es un framework de automatización de pruebas de software genérico, ampliamente utilizado para pruebas de aceptación y desarrollo guiado por pruebas de aceptación (ATDD). Se caracteriza por ser un framework de pruebas impulsado por palabras clave, que utiliza una sintaxis tabular para los datos de prueba.

Historia de Robot Framework
Las ideas básicas para Robot Framework se plasmaron en la tesis de maestría de Pekka Klärck en 200La primera versión se desarrolló en Nokia Networks ese mismo año. La versión 0 se lanzó como software de código abierto el 24 de junio de 2008, y la versión 0.2 se lanzó el 7 de febrero de 201El framework está escrito en Python y cuenta con una activa comunidad de colaboradores. Se distribuye bajo la Licencia Apache 0 y se puede descargar desde robotframework.org.
En una encuesta realizada en 2020, obtuvo el octavo lugar entre 12 frameworks de automatización de pruebas, con un 3% de los encuestados utilizándolo. En 2021, había caído al puesto 18 entre 22, con un 2% de uso. Estas fluctuaciones en popularidad no restan valor a la potencia y flexibilidad del framework.
Descripción de Robot Framework
Los casos de prueba se escriben utilizando una metodología de prueba basada en palabras clave, en un formato tabular. Estas tablas se pueden escribir en archivos de texto plano, valores separados por tabulaciones (TSV) o archivos reStructuredText (reST) en cualquier editor de texto o utilizando el Entorno de Desarrollo Integrado de Robot (RIDE). RIDE simplifica la escritura de casos de prueba al proporcionar completado de código específico del framework, resaltado de sintaxis, etc.
Ejemplos de uso de Robot Framework
Ejemplo básico: "Hello, World!"
El siguiente caso de prueba implementa un ejemplo de "Hello, World!":
Test Cases
Demo Log Hello world
Log es una palabra clave integrada que registra el parámetro dado en el informe de prueba generado por Robot Framework.
Automatización de pruebas web con SeleniumLibrary
Con SeleniumLibrary, escribir pruebas para aplicaciones web también es muy sencillo:
Test Cases
Demo Open Browser https://www.google.com ie
Input Text id=lst-ib Hollywood Celebrities
Click Button Google Search
Esta prueba abre una nueva ventana del navegador Internet Explorer con Google y realiza una búsqueda en Internet de "Hollywood Celebrities" presionando el botón "Google Search".
Automatización con Robot Framework Browser
Con Robot Framework Browser, la automatización se puede realizar con Chromium, WebKit y Firefox.
Settings
Library Browser
Test Cases
Example Test
New Page https://playwright.dev
Get Text h1 == 🎭 Playwright
Estas bibliotecas se implementan mejor en Python, pero también es posible utilizar Java o .NET. Otros lenguajes como Perl, JavaScript y PHP también se pueden utilizar para bibliotecas, utilizando la interfaz de biblioteca remota documentada.
Robot Framework vs. Selenium
Robot Framework y Selenium se pueden utilizar para diferentes casos de uso. Robot Framework es excelente para escribir casos de prueba en un formato de lenguaje natural usando palabras clave, probar varios tipos de aplicaciones, generar informes y registros completos y personalizables, usar pruebas basadas en datos o utilizar un marco genérico y flexible. Selenium es ideal para escribir casos de prueba en un lenguaje de programación, probar aplicaciones web con interacciones del navegador, ejecutar pruebas paralelas, grabar y reproducir scripts de prueba con Selenium IDE o utilizar una herramienta ampliamente usada para pruebas web. La elección depende de sus necesidades y preferencias.
Robot Framework y el Desarrollo Guiado por Comportamiento (BDD)
El Desarrollo Guiado por Comportamiento (BDD) es un método eficaz para que los equipos de software colaboren. Al fomentar la comunicación entre el personal técnico y de negocios, el BDD garantiza una comprensión compartida de los problemas y promueve el desarrollo rápido e iterativo de soluciones. Robot Framework se integra perfectamente con BDD.
Principios del BDD
El BDD se centra en tres actividades principales:
- Descubrimiento : Identificar y comprender las historias de usuario.
- Formulación : Convertir las ideas del descubrimiento en requisitos formalizados utilizando una sintaxis estructurada (a menudo Gherkin).
- Automatización : Convertir los escenarios Gherkin en pruebas ejecutables. Robot Framework automatiza estos escenarios.
Gherkin: El lenguaje de BDD
Gherkin es un lenguaje específico de dominio legible para negocios que describe el comportamiento del software sin detallar cómo se implementa esa funcionalidad. Utiliza palabras clave como:
- Feature: Describe la característica que se está probando.
- Scenario: Una situación específica que se va a probar.
- Given: Condición previa al escenario.
- When: Una acción realizada por el usuario.
- Then: El resultado esperado.
- And/But: Pasos adicionales dentro del escenario.
Ejemplo Mapping
El Ejemplo Mapping es una técnica para refinar las historias de usuario y asegurar que todos los escenarios estén cubiertos. Implica dividir las historias de usuario en ejemplos concretos, reglas y preguntas. Las reuniones de Ejemplo Mapping reúnen a representantes de negocios, desarrollo y pruebas para asegurar una comprensión completa de los requisitos.

Implementando BDD con Robot Framework
Robot Framework admite la sintaxis Gherkin, lo que permite escribir casos de prueba en un estilo de lenguaje natural. Para implementar escenarios BDD, se crea un archivo Feature (en Gherkin) y luego se escriben las definiciones de paso en Robot Framework que conectan los pasos de Gherkin con el código que realiza la prueba.
Consejos para mejorar la implementación de BDD en Robot Framework
- Reutilizar palabras clave.
- Pruebas basadas en datos.
- Organizar las pruebas.
- Integración continua.
Diferencias entre RPA y Robot Framework
Robot Framework puede utilizarse en el contexto de la Automatización Robótica de Procesos (RPA). Existen frameworks RPA que están diseñados para ser utilizados con Robot Framework y Python, ofreciendo bibliotecas y herramientas para el desarrollo de robots de software. Sin embargo, Robot Framework es un framework de pruebas más general, mientras que la RPA se centra en la automatización de tareas repetitivas en aplicaciones.
Consultas Habituales sobre Robot Framework
A continuación, se responden algunas consultas habituales sobre Robot Framework :
| Pregunta | Respuesta |
|---|---|
| ¿Qué es Robot Framework ? | Un framework de automatización de pruebas de software genérico, utilizado para pruebas de aceptación y ATDD. |
| ¿Es Robot Framework mejor que Selenium? | Depende del caso de uso. Robot Framework ofrece un enfoque más basado en palabras clave y lenguaje natural, mientras que Selenium es más orientado a la programación. |
| ¿Es Robot Framework un framework BDD? | Robot Framework admite BDD a través de la integración con Gherkin, permitiendo escribir pruebas basadas en comportamiento. |
Robot Framework es una herramienta versátil y potente para la automatización de pruebas, adaptable a diferentes metodologías y necesidades. Su facilidad de uso, combinada con su capacidad para integrarse con otras herramientas y tecnologías, lo convierten en una opción atractiva para equipos de desarrollo y pruebas de software.
