¿Qué es un Framework?

Si eres trabajas como tester de pruebas automatizadas o simplemente estas familiarizado con el mundo de la automatización, probablemente hayas escuchado la palabra “Framework”. Pero, ¿sabes realmente qué es un Framework?

Un Framework es un conjunto de pautas, métodos, herramientas y bibliotecas que se son comprtidas dentro del proyecto. Estas pautas traen múltiples beneficios a los proyectos de automatización, pero principalmente las ventajas son: reducir el costo de mantenimiento, facilitar la reutilización del código y una estructura más clara. Existen varios tipos de marcos de automatización de prueba, estos son algunos de los más populares:

  • Linear Scripting Framework
  • Modular Testing Framework
  • Data-Driven Testing Framework
  • Keyword Driven Testing Framework (RobotFramework es el principal representante de este tipo)
  • Hybrid Testing Framework Behavior Driven Development Framework

LEER MÁS: Tipos de marcos de automatización de pruebas RobotFramework

RobotFramework

RobotFramework es un marco de automatización de pruebas de código abierto basado en palabras clave, escrito en python. En consecuencia, se ejecuta en Python, Jython o IronPython. Aunque RF nos da la posibilidad de trabajar con Java (Jython) o .NET (IronPython) Se recomienda usar Python ya que cuando se usa Java o .NET algunas de las bibliotecas de bajo nivel no están disponibles (RobotFramework tiene una comunidad extendida que esta constantemente trabajando en mejoras y nuevas características, por lo que tal vez en el momento en que estes leyendo esta publicación, esta desventaja de Jython y IronPython ya no sea aplicable).

Robot Framework tiene un rico ecosistema de bibliotecas internas y externas que consisten en muchas palabras clave útiles que puedes reutilizar en su ecosistema. Si no encuentras una palabra clave, puedes crear una nueva biblioteca. Gracias a las bibliotecas, podremos automatizar diferentes sistemas, estos son algunas de las bibliotecas más importantes:

  • Biblioteca Selenium para automatizar páginas web
  • Biblioteca Appium para automatizar aplicaciones Android e IOS
  • Biblioteca RESTinstance para automatizar pruebas de API

Hay muchas otras bibliotecas útiles para automatizar diferentes aplicaciones y tecnologías, puedes encontrarlas todas aquí.

Testing capabilities

RobotFramework como marco de automatización es responsable de definir el formato de los scripts de prueba, la ejecución de casos de prueba y los informes (reports) . Estas son algunas capacidades que implementa RobotFramework para integrar estas tareas:

  • Proporciona informes y registros de resultados fáciles de leer en formato HTML.
  • Proporciona una API para crear bibliotecas de prueba personalizadas que se pueden implementar de forma nativa con Python o Java.
  • produce una interfaz de línea de comandos y archivos de salida basados en XML para la integración en la infraestructura de compilación existente (sistemas de integración continua).
  • Facilita la creación de casos de prueba basados en datos (Data-driven)
  • Proporciona etiquetado para clasificar y seleccionar casos de prueba a ejecutar.
  • Permite una fácil integración con los principales sistemas de control de versiones: las suites de prueba son solo archivos y directorios que se pueden versionar facilmente.
  • Proporciona configuración y desmontaje de prueba-caso y prueba-suite-nivel.

Para obtener más información sobre Robot Framework, consulte la guía oficial del usuario. Puede encontrar mucha más documentación allí, junto con proyectos de demostración.