sábado, 15 de diciembre de 2007

Selenium on Rails!

Selenium es una buena herramienta para realizar testing de paginas web.

Bueno, se puede usar agregando como plugin de rails .. los pasos que dí para instalarlo fueron estos:

Primero agregue el source donde esta el repositorio del plugin:


script/plugin source http://svn.openqa.org/svn/selenium-on-rails/selenium-on-rails

luego..... instalo el plugin

script/plugin install http://svn.openqa.org/svn/selenium-on-rails/selenium-on-rails

generamos el caso de testeo:

app#:script/generate selenium agenda_login

o lo creo yo mismo


app#: touch test/selenium/agenda_login.sel
app#:ls -l test/selenium

app#:-rw-r--r-- 1 cesar cesar 203 2007-10-04 16:37 agenda_login.sel

hacemos correr el script para que el ambiente para test este disponible

app#:script/server -e test

vamos al navegador preferido(por supuesto.. prefiero iceweseal) y comprobamos que selenium este corriendo:

en http://localhost:3000/selenium/



Bueno... hasta aquí fue solo configuración del plugin Selenium en Rails

Ahora vamos a ver como hacemos un test de una pagina en sí...
el archivo de test agenda_login.sel se escribe de la siguiente forma

|comando1|parametro1|
|comando2|parametro1|parametro2|

la pagina que quiero testear tiene este contenido

en la pagina principal


e internamente un listado



bueno.. el archivo para testear estas dos paginas es gigante... :-)

|open|/account/login||assertTitle|Admin: login|
|assertTextPresent|Recordar mis datos:|
|type|login|admin|
|type|password|test|
|clickAndWait|commit|
|assertTitle|Admin: index|
|clickAndWait|link=Salir|

esto hace lo siguiente...

1º) abre la pagina http://localhost:3000/account/login indicándolo en
|open|/account/login|
2º) se asegura que el titulo de la pagina sea "Admin: login"
3º) se asegura de que exista un texto que diga "Recordar mis datos:"
4º) "tipea" donde iría el nombre del "Usuario" (id login) el texto
'admin' => |type|login|admin|
5º) "tipea" donde iría la Contraseña (id password) el texto 'test' =>
|type|password|test|
6º) hace un click en submit => |clickAndWait|commit|
7º) se asegura de que el titulo de la nueva pagina es "Admin: index"
8º) hace click en el link "Salir"

esto se ve así en el browser una vez que pasan los test



Bueno.. como ven .. una linda herramienta para utilizar en testeo de paginas web...
esta una de las formas de usar Selenium Core fácilmente utilizando el plugin para rails.

También se puede instalar la IDE obteniendo la extensión para icewesel.

Esto es todo amigos... algo sencillo de instalar, usar y que trae grandes ventajas a la hora de comprobar el contenido/navegabilidad de nuestras páginas on Rails!! :-D

Espero les ayude en algo... nos leemos... los comentarios/criticas/mejoras son bienvenidos ... ;-)

No hay comentarios: