¿Qué es Robot Framework? Automatización de pruebas con palabras clave
Robot Framework es un framework de código abierto basado en palabras clave para pruebas de aceptación, ATDD y RPA. Cómo funciona, librerías, errores y FAQ.
¿Qué es Robot Framework?
Robot Framework es un framework de automatización de código abierto, basado en Python, para pruebas de aceptación, desarrollo guiado por pruebas de aceptación (ATDD) y automatización robótica de procesos (RPA). Las pruebas son archivos de texto formados por palabras clave (keywords) que también puede leer quien no programa, y los desarrolladores añaden keywords nuevas en Python, Java u otros lenguajes.
Cómo funciona Robot Framework
Los datos de prueba viven en archivos de texto, normalmente con la extensión .robot, divididos en secciones con encabezados como *** Settings ***, *** Variables ***, *** Test Cases *** y *** Keywords ***. Los campos se separan con dos o más espacios. Cada línea llama a una keyword con argumentos, y las keywords se pueden combinar en otras de nivel superior que describen acciones de negocio.
Las keywords proceden de librerías. Robot Framework incluye librerías estándar y tiene un amplio ecosistema de librerías externas. Browser Library se basa en Playwright, y otras cubren Selenium, APIs y bases de datos. Cada ejecución genera archivos de informe, registro y XML que los servidores de CI pueden leer. En robotframework.org figura la versión 7.4.2 como actual, y el framework cuenta con el apoyo de la Robot Framework Foundation, una organización sin ánimo de lucro.
Ejemplo: una prueba de inicio de sesión
Una prueba llamada Valid Login usa keywords como Open Login Page, Input Username, Input Password, Submit Credentials y Welcome Page Should Be Open. Los pasos de bajo nivel están en la sección *** Keywords *** o en una librería, así que la prueba se lee como un requisito. Si cambia la pantalla de acceso, corriges una keyword y no todas las pruebas. Encaja con las pruebas de regresión que revisan juntos producto y QA.
Errores habituales con Robot Framework
- Escribir pruebas largas de pasos de bajo nivel en lugar de crear keywords que describan la intención.
- Meter lógica en los datos de prueba. Los bucles y condiciones en archivos
.robotse vuelven ilegibles: mejor una keyword en Python. - Copiar localizadores y datos de prueba en muchas pruebas en lugar de usar variables y archivos de recursos.
- Mezclar muchas librerías externas sin fijar sus versiones.
- Tomar un informe en verde como prueba de rendimiento. Las pruebas funcionales no muestran el comportamiento bajo carga.
Robot Framework y otras herramientas de pruebas
Robot Framework suele apoyarse en otras herramientas. Para pruebas web puede usar Playwright mediante Browser Library, véase qué es Playwright. Para APIs puede llamar a endpoints, algo que se solapa con las pruebas de API. Si te gusta el estilo de aceptación legible en Ruby, compara Capybara. Los equipos Java también suelen mirar TestNG.
Robot Framework comprueba que las funciones trabajan. Para ver cómo se comporta un backend con muchos usuarios a la vez, haz una prueba de carga. LoadFocus puede ejecutar scripts de JMeter existentes en la nube, véase pruebas de carga con JMeter. LoadFocus no se integra con Robot Framework.
Preguntas frecuentes
¿Robot Framework es gratis?
Sí. Es de código abierto bajo la licencia Apache 2.0 y no tiene costes de licencia.
¿Necesito saber Python para usar Robot Framework?
No para escribir pruebas con keywords existentes. Para crear keywords o librerías nuevas se suele escribir Python, aunque también se puede usar Java u otros lenguajes.
¿Qué son las pruebas basadas en palabras clave?
Las pruebas se escriben como una secuencia de acciones con nombre (keywords) en vez de código. Las keywords se pueden construir con otras keywords, lo que mantiene las pruebas legibles y reutilizables.
¿Robot Framework puede probar apps web y APIs?
Sí, mediante librerías. Browser Library, basada en Playwright, y una librería de Selenium cubren interfaces web, y otras librerías cubren APIs y bases de datos.
¿Robot Framework sirve para pruebas de carga?
Por sí solo no. Ejecuta pruebas funcionales y de aceptación. Para medir el comportamiento con muchos usuarios simultáneos necesitas una herramienta de pruebas de carga.
Términos relacionados
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus, la misma plataforma que potencia todo lo que acabas de leer.