Selenium: ¿Un navegador robotizado?

Selenium: ¿Un navegador robotizado?

¿Qué es Selenium y cómo funciona?

Hace un tiempo hablamos de las metodologías ágiles, con algunas de sus mejores prácticas como las pruebas integrada. pero, ¿cómo implementamos esas pruebas integradas? Pues cuando se trata de código de servidor se puede programar de manera más o menos sencilla, pero cuando se trata de probar funcionalidad web que depende de la interacción de un usuario con el navegador la cosa se complica.

Selenium, la herramienta para automatizar pruebas integradas

Selenium empezó como un proyecto para automatizar pruebas de código javascript en los navegadores en el año 2004, lenguaje que por entonces empezaba a despegar para la creación de páginas dinámicas. En los últimos años, y con el auge de frameworks web como jQuery, Angular o React se ha visto su verdadera utilidad, permitiendo comprobar que las páginas generadas, en la mayoría de los casos muy complejas, funcionan correctamente.

¿Cómo funciona Selenium?

Selenium actúa de interprete entre lo que nosotros queremos hacer y lo que el navegador tiene que hacer. Nosotros le decimos que busque una imagen, que apriete un botón, que rellene los datos de un formulario y el lo hará en el orden en el que le hemos dicho. No todo es tan sencillo, pues al hacer clic en un botón, puede darse el caso en que la página tarde un tiempo hasta que se muestra la pantalla a la que queríamos llegar, tiempo que deberemos hacer esperar a Selenium, porque, de lo contrario, procederá con la siguiente instrucción.

¿Para qué utilizar Selenium?

A pesar de esa dificultad, resulta muy útil en procesos de integración contínua (CI), para evitar la subida de una web que no se muestra correctamente. Desde Inycom empleamos Selenium para automatizar las pruebas de las webs realizadas con Angular en nuestros procesos CI con Jenkins.

También se puede emplear para extraer información de webs (siempre con permiso del autor) automatizando la tarea de recorrer una lista de webs que comparten una misma estructura.

Este concepto de la automatización también forma parte de la robotización, los RPA de los que también hemos hablado.

Con herramientas como Selenium, se facilita también la realización de trabajos web repetitivos, integrándose con otras herramientas. Los RPA pueden hacer este trabajo de un modo tal vez más “user friendly”, orquestando los procesos, pero en el fondo es la misma funcionalidad.

Por tanto, la automatización del navegador nos aporta beneficios tanto para la calidad de nuestro trabajo como desarrolladores de código como para nuestra productividad como trabajadores.

Samuel Garcés Marín

Security Developer en Inycom

Leave A Reply