Automatización con Selenium

Después de tratar el tema de la automatización con CodedUI, vamos a ver una de las herramientas más universales que se usan para automatizar en los proyectos.



Para los que no lo conocen, Selenium es una herramienta que automatiza en navegador web y que contiene dos herramientas en su suite de pruebas:
  • Selenium IDE: Es la herramienta que realiza los casos de prueba grabando y ejecutándolos. También se pueden exportar. El mejor navegador para esta extensión es Mozilla Firefox.
  • Selenium WebDriver: Es un complemento o API para trabajar desde Visual Studio. Con él se pueden realizar los Test en la Suite de trabajo de Microsoft.
La instalación de Selenium IDE es muy sencilla, ya que es una extensión de Firefox, después no hay más que abrirlo desde las herramientas del navegador. Cuando abrimos la herramienta, vemos que es tan sencilla como su instalación.

Pulsamos el botón REC (Circulo rojo) para comenzar a grabar y después, pulsaremos el botón "Play" para reproducir lo grabado. Tenemos un módulo para ver los comandos que hemos grabado y para editarlos si quisiéramos, añadiendo nuevos o parametrizando datos.

En la parte de más abajo del editor tenemos los comandos. Selenium tiene tres principales:
  • Acciones que activan o cambian el estado de la aplicación (por ejemplo, pulsar un botón, rellenar un campo...).
  • Los llamados "Accessors" que examinan y guardan resultados en variables.
  • Afirmaciones: que verifican el estado de la solicitud, esperan, o comprueban. Por ejemplo "verify", "waitFor" o "ClickandWait.
Existen muchas referencias sobre Selenium IDE en su página web, las podes consultar aquí.

Las acciones se pueden crear desde el propio Selenium o más sencillo todavía pulsando en el botón derecho de Mozilla Firefox, en el elemento que seleccionemos. La opción será "Show all Available commands" o "Visualizar todos los comandos disponibles". 

De esta manera, se nos desplegará un listado con las opciones que podemos utilizar en el elemento y así insertar una acción de manera más sencilla.

Una vez que tengamos nuestra pantalla "grabada" podemos exportarlo con la API que nos proporciona la Suite, Selenium WebDriver. 

En el caso de que utilicemos Visual Studio, trabajemos con .NET / C# o similar, la exportación del código es bastante sencilla y funcional, pudiendo ejecutar los test en Visual Studio y apoyar nuestro trabajo de manera muy eficiente. En muchos casos, tanto CodedUI como Selenium tienden a complementarse, por lo tanto, no descartaría la utilización de ambos.

Otra extensión o framework que viene muy bien para complementar, ejecutar o editar estas pruebas es Unit que se puede descargar aquí. En la mayoría de los casos tendremos que utilizarlo con Selenium WebDriver para la exportación de casos en C#.

Cuando tengamos una buena batería de pruebas automatizada con Selenium, existe otra extensión muy interesante, que es Test Results (Selenium IDE).

Esta nos permite guardar los resultados de los Test con un solo Click, pudiendo tener un Log y unos históricos muy interesantes. Además, como complemento, se podrán exportar los casos de manera individual.

Como veis, existen muchas herramientas para automatizar nuestras aplicaciones y cada una nos aporta unas ventajas y unos inconvenientes. Lo mejor que tiene Selenium es su capacidad de adaptación, su universalidad y sobre todo que es totalmente gratuito.

Lo único que tenemos que hacer es ir utilizando todo este abanico de herramientas e irnos adaptando a sus posibilidades, hasta que encontremos la que mejor encaja en nuestro proyecto para nuestra aplicación.
Siguiente Publicación

Comentarios