Componentes de Selenium

Exploremos uno a uno cómo funcionan los componentes de Selenium:

 

Selenium WebDriver

 

También conocido como Selenium 2.0, WebDriver ejecuta scripts de prueba a través de controladores específicos del navegador. Consiste en:

 

  • API: Interfaz de programación de aplicaciones. Transfiere los scripts de prueba que escribe en Ruby, Java, Python o C# a Selenese (el propio lenguaje de scripts de Selenium), a través de enlaces.
  • Biblioteca: Aloja la API y los enlaces específicos del idioma. Aunque existen muchos enlaces de terceros para admitir diferentes lenguajes de programación, los enlaces principales del lado del cliente admitidos por el proyecto principal son: Selenium Java (como archivos jar de Selenium), Selenium Ruby, Selenium dotnet (o Selenium C#, disponible como .dll archivos), Selenium Python y Selenium JavaScript (Nodo).
  • Conductor: Módulo ejecutable que abre una instancia del navegador y ejecuta el script de prueba. Específico del navegador: por ejemplo, Google desarrolla y mantiene Chromedriver para Selenium para admitir la automatización en Chromium/Chrome.
  • Estructura: Compatibilidad con bibliotecas para la integración con marcos de prueba de lenguaje natural o de programación, como Selenium con Cucumber o Selenium con TestNG.

 

Selenium Grid

 

El componente Grid ayuda al usuario a minimizar el tiempo de ejecución al ser capaz de ejecutar varios scripts a la vez en una cantidad ilimitada de dispositivos remotos. A este proceso se le conoce como prueba paralela. 

 

Selenium Grid es también visto como un servidor inteligente que ayuda a enrutar los comandos de prueba e instancias de navegador en todos los dispositivos remotos. Se vale de dos componentes principales: el servidor y el dispositivo remoto.

 

Selenium IDE

 

Es un complemento disponible en Chrome y Firefox que le permite al usuario registrar interacciones “naturales” en el navegador y poder generar un código en distintos lenguajes de programación, por ejemplo puede generarlo en C#, Java, Python y Ruby, además de el propio lenguaje de secuencias de comando de Selenium: Selenese.

 

También sirve para que los probadores habiliten “grabación” dentro del IDE y puedan reproducir el escenario de prueba en el navegador. Tiene como defecto que el código generado suele ser muy complicado para utilizarse en scripts para pruebas automáticas. 
 

¿Qué es Selenium?

Como lo explican en su página web oficial “Selenium es un proyecto general para una gama de herramientas y bibliotecas que permiten y admiten la automatización de navegadores web. Proporciona extensiones para emular la interacción del usuario con los navegadores, un servidor de distribución para escalar la asignación del navegador y la infraestructura para implementaciones de la especificación W3C WebDriver que le permite escribir código intercambiable para todos los principales navegadores web”.