La mayoría del testing automatizado sobre aplicaciones web se hace hoy día utilizando Selenium, que se ganó su predominancia por haber sido el primer framework completo para este objetivo.
Sin embargo, quienes lo utilizan bastante empiezan a notar algunos problemas estructurales que no le restan valor, pero complican el pasar de cierto nivel de aseguramiento. Como siempre, una buena respuesta a lo límites de una herramienta suele ser utilizar otras complementarias, sacando provecho de la diversidad.
Windmill es otro framework open source, para efectuar este tipo de pruebas que tiene algunas características prometedoras y está siendo cada vez más apreciado en la comunidad. El producto corre en Python pero sirve para probar cualquier tipo de interfaz web, soportando múltiples browsers (incluso, con algunos cuidados, el problemático IE6).
Algunas de sus características principales:
- Múltiples browsers
- Grabación, Edición y Ejecución de pruebas
- Shell interactivo, basado en Python, que permite scripts para extender los casos
- API de Proxy que permite interceptar y modificar el contexto de ejecución para contemplar situaciones posibles en distintos browsers y escenarios cliente
- Las pruebas pueden escribirse también en Javascript, incluyendo las funciones de JSUnit
- Controller API que permite ejecutar programáticamente cualquier tipo de acción interactiva como cliquear, escribir, esperar, arrastrar y soltar, hacer clic derecho, etc.
Pero como nada es mejor que ver algo en acción, aquí comparto un video demostrando rápidamente el framework en acción: