
Selenium una suite de herramientas para Pruebas y que en Java funciona bien
Buenas tardes, les comparto algo para aquellos que gusten de las pruebas... y quien nop, pues muy mal son imprescindibles para cualquier desarrollo.
********************
Pues últimamente se ha puesto de moda conjuntamente con los Métodos Ágiles, temas que van a su alrededor como lo es Integración Continua.
Durante los procesos de integración continua los desarrolladores podemos asegurar que los builds (mediante la utilización de pruebas unitarias) no se rompan y vayamos asegurando que los cambios son correctos y no tenemos errores regresivos o provocados por estos cambios.
Asimismo, nos da una tranquilidad de poder corregir detalles o al hacer refactoring, estos no afecten lo que ya una vez con anterioridad pudo ver el usuario y que funcionaba, y no que de repente ya no se supo porque dejo de funcionar o cuando.
Entonces revisando algunas cosas por Internet me encontré en una pagina de ADF una referencia a una herramienta llamada Selenium que asegura poder realizar pruebas de forma unitaria y de integración desde el navegador.
Entonces me di a la tarea de visitar el sitio http://seleniumhq.org/
Aquí me encontré con 3 principales componentes:
1.- IDE
2.- El componente de control remoto (con su cliente y servidor)
3.- El Grid para pruebas más en forma.
Sin tanto rollo les comento que lo que hice fue instalar el IDE desde mi Mozilla para que se agregara como Extensión.
Una vez hecho esto, pude arrancar la extensión, lo puse a grabar cosas que hacia en el browser (buscar cosas en Internet y abrir mi cuenta de gmail) y al terminar al darle reproducir me di cuenta que impresionantemente lo hacia sin problemas.
Después me dije, pues es importante ver si lo que promete que funciona en cualquier browser y tiene capacidad de hacer cosas desde cualquier lenguaje. Me baje el componente RC (Remote Control)
Abrí mi Eclipse, cree un proyecto de Java, agregue las librerías para Java del cliente, copie las líneas de código en Java que produce el IDE dentro del navegador. Agregue la librería de JUnit 4 a mi proyecto y corrí la prueba.
Obviamente esto no funciono a la primera, se me había olvidado correr el servidor del RC, así que me fui a donde se hallaba el jar, simplemente le di doble clic, y el servidor arranco (en forma de proceso background).
Volví a correr la prueba, y de forma inmediata el browser se abrió reprodujo todo lo que había grabado (ejecutándose desde el código Java) y se cerro terminando satisfactoriamente. Para asegurar la prueba en el código Java modifique la contraseña de mi cuenta de gmail y fallo, dando el error que muchos conocemos en JUnit.
Sorprendente? Pues si, así, suena, pero creo que es verdad, se ve fácil y robusto. Yo los invito a probarlo y verificar que es una buena alternativa para nuestros procesos de Integración Continua.
Y como ellos mismos dicen:
Selenium is a suite of tools to automate web app testing across many platforms.
Saludos y hasta la próxima.




