Selenium intro – introducción

Este es nuestro primer tutorial de una serie de tutoriales sobre Selenium. En este tutorial, repasaremos los fundamentos del paquete Selenium, sus distintos componentes, características, ventajas y limitaciones.
Índice
¿Qué es el selenio?
Selenium es un paquete de automatización de pruebas gratuito y de código abierto que se utiliza para automatizar aplicaciones web. Admite la automatización a través de navegadores, plataformas y lenguajes de programación. Con Selenium, podemos automatizar las pruebas funcionales e integrarlas fácilmente con Maven, Jenkins y otras herramientas de automatización e integración continua.
Componentes de Selenium Suite
Selenium Suite consta de los cuatro componentes siguientes:
- Selenium IDE – Selenium IDE es una herramienta de automatización de grabación y reproducción que podemos utilizar para automatizar aplicaciones web. Se presenta como una extensión para los navegadores Chrome y Firefox. Como funciona según el principio de grabación y reproducción, es la herramienta de automatización de primera elección para personas sin experiencia o con experiencia limitada en lenguajes de programación.
- Selenio RC – Selenio Control Remoto(RC) es sustituido oficialmente por Selenio. Para la automatización, solía insertar código javascript en el navegador y requería un servidor adicional para ejecutar los scripts de automatización.
Además, tenía muchas limitaciones, como – era lento, no tenía un navegador «headless» (no podía ejecutar un navegador con una prueba en segundo plano) como HtmlUnitDriver, y necesitaba iniciar el servidor antes de ejecutar los scripts de prueba. - Selenium WebDriver: con diferencia, la parte más importante de Selenium Suite. Proporciona distintos controladores para distintos navegadores y admite múltiples lenguajes de programación.
Está puramente orientado a objetos y es compatible con los principales navegadores: Chrome, Firefox, IE, Safari, etc. Las secuencias de comandos se pueden hacer en los lenguajes más populares: Java, Python, Ruby, etc. - Selenium Grid – Selenium Grid también es una parte importante de Selenium Suite. Ayuda en la ejecución paralela distribuida de pruebas Selenium en múltiples máquinas remotas.
Tiene un llamado «centro» y varios nodos. Las instancias de Selenium se ejecutan en los nodos en los que se ejecutan los casos de prueba. Estos nodos están conectados a un nodo central que actúa como servidor y gestiona toda la ejecución de la prueba.
Beneficios del selenio
Veamos ahora algunos de los beneficios del selenio:
- Selenium es de código abierto, no hay costes de licencia por su uso.
- Las secuencias de comandos se pueden realizar en los lenguajes de programación más utilizados, como Java, C#, Ruby y Python.
- Es compatible con los principales sistemas operativos: Windows, Linux, Mac OS y Solaris.
- Es compatible con los navegadores más populares, como Chrome, Firefox, Edge, Internet Explorer, Opera y Safari.
- El componente Selenium IDE del paquete Selenium proporciona funciones de grabación y reproducción que pueden ser utilizadas para escribir scripts de automatización incluso por personas que no tengan mucha experiencia en programación.
- Selenium Grid ayuda en las pruebas paralelas y distribuidas.
Restricciones del selenio
Algunas de las limitaciones del selenio son:
- Selenium no ofrece soporte para la automatización de aplicaciones de escritorio.
- Los servicios web REST o SOAP no se pueden automatizar con Selenium.
- Selenium WebDriver requiere requisitos de lenguaje de programación para crear un script.
- Tenemos que depender de bibliotecas externas para realizar tareas comunes necesarias para la automatización, como el registro, la lectura y escritura en archivos externos.
Veamos ahora el componente Selenium WebDriver con un poco más de detalle.
¿Qué es Selenium WebDriver?
Selenium Webdriver es una de las herramientas de automatización de aplicaciones web más utilizadas. Automatiza los navegadores llamando directamente a su método nativo, a diferencia de Selenium RC, que inserta código javascript en los navegadores con fines de automatización. Por eso Webdriver es mucho más rápido que Selenium RC. Además, Selenium WebDriver puede manejar fácilmente escenarios como alertas, ventanas emergentes, peticiones ajax, acciones del teclado y del ratón. Como Webdriver llama directamente a los métodos de los distintos navegadores, tenemos un controlador distinto para cada navegador.
Conclusión
Con esto concluye nuestra introducción a Selenium y a su componente más importante, Selenium WebDriver. En el siguiente tutorial de esta serie de tutoriales sobre Selenium, trataremos la instalación del componente Selenium WebDriver.