Selenium I

En este post se mostrará un framework que, a pesar de no ser muy nuevo, está ganando adeptos a marchas forzadas. Una de sus tareas importantes es la de ayudarnos a “medir” la funcionalidad de un producto software, en especial, software orientado a la web. En concreto, ésta herramienta permite llevar a cabo pruebas funcionales de sistema, realizando comprobaciones a nivel de la interfaz gráfica de usuario.

Para empezar vamos a dejar claro que entendemos por funcionalidad. La funcionalidad es la capacidad del producto software para proporcionar funciones que satisfacen las necesidades declaradas e implícitas cuando se usa en las condiciones especificadas, dividiéndose éste concepto a su vez en tres partes: Corrección, completitud y adecuación.

Dicho esto, vamos a trabajar con la herramienta Selenium IDE (hay otros dos más), plugin para Firefox que permite grabar interacciones de usuario con páginas web. Además tendremos la, nada despreciable, opción de exportar esas interacciones a código Java, Python, Ruby o C# con la simple dificultad de un par de clicks. Para descargar el plugin e instalarlo podéis seguir éste enlace: http://docs.seleniumhq.org/download/

Selenium00

Una vez instalado el plugin lo abrimos tecleando Ctrl+Alt+S o desde la barra de herramientas de Firefox como se muestra en la siguiente imagen:

Selenium01

Al abrirse, ya se encuentra “grabando”, por lo tanto sigamos una serie de pasos. Primero abre una pestaña y dirígete a www.google.com y haz una búsqueda de “dnb ingeniería software” y haz click en el enlace a este blog. Hecho esto, paramos la grabación de Selenium pulsando de nuevo el botón de grabar situado arriba a la derecha.

Selenium captura la secuencia de interacciones que hemos realizado en el navegador y genera código ejecutable que permite replicar dichas interacciones (Estos pasos son exportables directamente a código Java, Python, etc, simplemente desde la barra de herramientas de Selenium). Quedará algo como esto:

Selenium02

Ahora vamos a poner la barra de velocidad que hay arriba a la izquierda en modo Slow y daremos al play, la secuencia de pasos realizada se repetirá en el navegador mientras miramos. Interesante, ¿verdad?

Por último vamos a eliminar los datos de Selenium y empezar una grabación nueva. Abrid una nueva pestaña en el navegador y teclead la dirección del blog http://devnewbies.blogspot.com  marcad el título y pulsad encima con el botón derecho eligiendo la opción que se ve en la siguiente imagen. Luego marcamos el nombre del autor del blog que aparece a la derecha y hacemos lo propio con la imagen de más abajo.

Selenium03

Selenium04

Hecho esto, al darle a play, a parte de repetir nuestros pasos como ya hemos visto, Selenium comprobará (verify) que el título de la web es el que hemos indicado antes y lo mismo para el autor con un pequeño matiz. Verify comprobará la condición dada pero, de no cumplirse la ejecución continuará mientras que con assert, si pararía la ejecución en ese punto. Además cabe destacar que el título lo buscará en la etiqueta title del código Html (ya que así se lo hemos indicado) mientras que en el caso del nombre hemos seleccionado «Text present» por tanto, será un resultado positivo encontrar ese texto en cualquier parte de la web, aunque no sea la indicada inicialmente. Podéis probar a cambiar los «Targets» en la ventana de Selenium para comprobar lo que ocurre.

Selenium05

Bueno, como suele pasar, las posibilidades que nos ofrece esta herramienta son infinitamente más extensas pero, aquí os dejamos un primer acercamiento a ella, que vuestra curiosidad haga el resto.