Selenium es una herramienta de automatización de pruebas que fue originalmente desarrollado por Jason Huggins en 2004 y desde entonces ha evolucionado demasiado, se han creado versiones o componentes de Selenium para finalidades diferentes, estas son:
- Selenium IDE: Es una extensión de Firefox y permite grabar, editar y depurar pruebas. Originalmente se le conoció como Selenium Recorder.
- Selenium Client API: Interfaz de programación de aplicaciones (API) de clientes Como alternativa a escribir pruebas en Selanese, las pruebas pueden escribirse en varios lenguajes de programación, éstos se comunican con Selenium mediante llamadas a los métodos de Selenium Client API.
- Selenium Remote Control: RC hace posible escribir pruebas automatizadas para aplicaciones web, en cualquier lenguaje de programación lo que permite una mejor integración de Selenium a entornos de prueba existentes.
- Selenium WebDriver: Selenium WebDriver acepta comandos (enviados en Selenese o vía el API de cliente) y los envía a un navegador. Esto se implementa a través de un controlador del navegador específico para cada navegador que envía los comandos y trae los resultados de regreso.
- Selenium Grid: permite ejecutar pruebas en paralelo en múltiples máquinas y manejar diferentes versiones y configuraciones de manera centralizada.
Lo mejor es que es Libre, esto genera comunidades al rededor de todo el mundo creando aportes y mejoras continuas para la herramienta, todas estas versiones de Selenium y todos los años de aportes han convertido a Selenium en la base de muchísimas herramientas de automatización licenciadas y libres, pro ejemplo Katalon y Appium son herramientas que nacen a partir de Selenium y que utilizan muchas de sus librerías para poder funcionar correctamente.
En las herramientas libres es claro que no están desarrolladas todas las funcionalidades que uno quisiera y que toca como digo yo “pedalear” más para lograr algunas cosas que en herramientas costosísimas ya funcionan, pero este pedaleo me ayuda a prender y a ser mejor automatizador, el dinero que se paga en licencias mejor se invierte en conocimiento y esfuerzos para lograr grandes retos en los proyectos.
En mi opinión Selenium es la base de la automatización en general, sea móvil, web o híbridas, teniendo el conocimiento sobre como sacarle el mejor provecho a sus librerías y funcionalidades podemos lograr automatizar casi cualquier cosa y a costos muy bajos.
Quienes deseen saber más de estas herramientas les recomiendo ir a las web oficiales y ver la documentación detallada que tienen. pero el mejor consejo es practicar y probar es la mejor forma de aprender.
https://www.seleniumhq.org/