Este repositorio contiene un proyecto de ejemplo que utiliza un framework de testing para la automatización de pruebas, ideal para sistemas robóticos o cualquier otro sistema que requiera desarrollo dirigido por pruebas (TDD).
El proyecto demuestra el uso de un framework de testing genérico y multiplataforma. Permite desarrollar y ejecutar pruebas unitarias de manera independiente del lenguaje y del middleware, organizando los casos de prueba en suites y utilizando un test runner automatizado para su ejecución.
- Python: Lenguaje principal de desarrollo y para la creación de tests.
- XML: Utilizado para la configuración de las suites de pruebas.
- Robot Framework: Un framework de automatización de código abierto que facilita las pruebas de aceptación y la automatización de procesos.
Para empezar a utilizar este proyecto, sigue los siguientes pasos:
-
Clona el repositorio:
git clone [https://github.com/jmelian/robottesting.git](https://github.com/jmelian/robottesting.git) cd robottesting
-
Instala las dependencias (si aplica): El proyecto utiliza Robot Framework y es necesario instalarlo vía
pip
:pip install robotframework
Para ejecutar las pruebas del proyecto, usa el comando adecuado del test runner. Por ejemplo, si usas Robot Framework
, el comando sería:
robot tests/
Esto ejecutará todos los casos de prueba que se encuentren en el directorio tests/
y generará los reportes correspondientes.
El repositorio incluye varios scripts de shell para automatizar tareas comunes del proyecto. Aquí se detalla la función de cada uno:
-
build.sh: Este script automatiza la creación y el lanzamiento del entorno de pruebas. Elimina cualquier contenedor de Docker anterior llamado robot, construye una nueva imagen llamada robottest y luego inicia un nuevo contenedor en segundo plano, exponiendo el puerto 8002.
-
start.sh: Este script se ejecuta dentro del contenedor de Docker. Configura el servidor web lighttpd para servir los resultados de las pruebas desde el directorio especificado por la variable de entorno $ROBOT_RESULTS_DIR y luego reinicia el servicio.
-
remove.sh: A pesar de su nombre, este script actúa como un reiniciador completo del entorno. Primero elimina cualquier contenedor de Docker anterior llamado robot6, luego construye la imagen robottest y finalmente inicia un nuevo contenedor, robot6, en el puerto 8001, y abre una terminal interactiva dentro de él.
-
runtests.sh: Este script se encarga de ejecutar el framework Robot Framework. Se conecta al contenedor de Docker llamado robot y ejecuta las pruebas definidas en testsuite/dispatcher_test.robot, guardando los resultados en el directorio results.
-
test.sh: Este script es similar a runtests.sh, pero está configurado para conectarse a un contenedor diferente, llamado robot2, para ejecutar las mismas pruebas.
Las contribuciones son bienvenidas. Si deseas mejorar el proyecto, por favor:
-
Haz un "fork" del repositorio.
-
Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). -
Realiza tus cambios y haz un "commit" (
git commit -am 'Add new feature'
). -
Haz un "push" a la rama (
git push origin feature/nueva-funcionalidad
). -
Crea una nueva solicitud de extracción (
Pull Request
).
Este proyecto está bajo la licencia Apache 2.0.