Selenium (http://www.seleniumhq.org/) es un conjunto de herramientas que permiten automatizar ciertas acciones en los navegadores. Esta automatización nos permite crear test funcionales, para probar formularios, enlaces, etc., tareas muy repetitivas y muy poco agradables de llevar a cabo.

Si lo único que necesitas es saber como crear y automatizar en local los test funcionales puedes usar el plugin de Firefox que explico en el apartado “Creando los test funcionales”.

Instalando el servidor de Selenium

Lo primero que necesitamos es disponer de una máquina virtual con el Sistema Operativo instalado y con conexión a internet.

Lo segundo es descargarnos desde http://www.seleniumhq.org/download/ la última versión de Selenium Server en nuestra máquina virtual.

Y la iniciamos con el comando:

java -jar selenium-server-standalone-2.44.0.jar

Para que Selenium se inicie al cargar el sistema operativo es necesario crear un pequeño script en bash para tal fin.

En /var/www/dev/sh deberá existir un archivo llamado selenium.sh, si no existe, créalo.

Este archivo debe contener el siguiente código:

#!/bin/bash

java -jar selenium-server-standalone-2.44.0.jar

Guárdalo.

Ahora, creamos un enlace simbólico al archivo desde /etc/init.d

ln -s /var/www/dev/sh/selenium.sh /etc/init.d/selenium.sh

Con esto, Selenium se iniciará al arrancar la máquina virtual.

Creando los test funcionales

Para crear los test funcionales y no morir en el intento, disponemos de un plugin para firefox con un IDE fantástico para esta labor.

Lo puedes descargar desde la página de descargas de Selenium http://www.seleniumhq.org/download/ en el apartado “Selenium IDE“. Aunque te recomiendo el enlace anterior ya que tendrás la versión más reciente a tu alcance, te dejo el link directo a la versión actual en el momento de escribir este post: http://release.seleniumhq.org/selenium-ide/2.8.0/selenium-ide-2.8.0.xpi.

Una vez descargado e instalado te aparecerá un icono a la derecha de la barra de direcciones.

Icono del ide de Selenium en FirefoxSu uso es muy sencillo: Accede a la página en la que quieres realizar el test. Una vez que se haya cargado la página pulsa en el icono del IDE de Selenium y se te abrirá la siguiente ventana:

Selenium IDE

Por defecto, el IDE de Selenium está listo para realizar la captura de los eventos que realices en la página, es decir, si pulsas un enlace con el IDE de Selenium abierto se generará un comando, como puedes ver en la siguiente imagen:

Selenium IDE con comandos

Como puedes observar se han creado dos comandos open y clickAndWait. El primero abre un enlace, en este caso la raíz del sitio http://interadictos.es, tal como se ve en el campo Base URL. El segundo comando le indica a Selenium que haga click en el enlace titulado “Cómo remplazar el cron de WordPress con un cron job real“, y que espere a que se cargue la página.

También podemos rellenar campos de un formulario para poder realizar la tediosa tarea de probar su funcionamiento con el IDE de Selenium.

Una vez finalizados los test funcionales, los podemos guardar en el directorio que creamos para tal uso dentro de nuestro proyecto. Así no se perderán, pero recuerda actualizarlos si la aplicación cambia.