Integración de Selenium Grid con Jenkins

Un breve repaso de como instalar Selenium en Jenkins

Integración de Selenium Grid con Jenkins

0. Índice de contenidos.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Intel Core 2 CPU T7200 @ 2.00GHz x 2
  • Sistema Operativo: Ubuntu 12.04 LTS x32
  • netBeans IDE 7.3

2. Introducción

A la hora de asegurar la calidad del código, es casi imprescindible un servidor de integración continua como puede ser Jenkins, el cual nos permite ejecutar todos los test antes de cada build además de proporcionarnos métricas para medir la calidad del código.

El problema empieza a aparecer cuando nuestro número de test funcionales ( ya sean con Selenium u otras herramientas de automatización ) empieza a crecer, el tiempo de las Builds empieza a aumentar. Por ello, es muy útil usar herramientas como puedan ser Selenium Grid para ejecutar nuestros test funcionales automáticos en diferentes maquinas.

3. Plugin de Selenium en Jenkins

Para empezar, necesitamos tener Jenkins instalado en nuestro servidor de integración continua, e instalar el plugin de Selenium que podemos instalar igual que cualquier otro plugin de Jenkins.

jenkins-selenium

Una vez tenemos instalado el plugin, este nos creará un servidor maestro de Selenium Grid, podemos ver si se ha instalado todo correctamente en la pantalla principal de Jenkins y viendo el nuevo menú que se habrá creado:

jenkins-selenium

4. Conectando los Nodos

Los nodos son los distintos ordenadores en los que se ejecutaran los test que Selenium crea conveniente, también podemos tener un nodo de cada tipo para probar todas las posibilidades ( un Chrome en Windows, un Chrome en Ubuntu, Internet Explorer 32/64 bits etc.. ).

Si queremos conectar algún navegador que no sea Firefox, necesitamos indicarle el driver del navegador elegido, los drivers los podemos descargar aquí, también necesitamos que en cada nodo esté corriendo el servidor de selenium, que podemos descargar aquí, la única dependencia que tiene este servidor es Java.

Una vez tengamos todo descargado, tenemos que iniciar el servidor de Selenium en todos los nodos que queramos conectar, indicándole el driver del navegador que deseemos usar:

~/java -jar selenium-server-standalone-2.28.0.jar -role node -hub http://localhost:4444/grid/register -Dwebdriver.chrome.driver=»/carpetaconeldriver/chromedriver»

De esta manera iniciaremos un servidor que correrá los test indicados en Google Chrome.

Una vez hecho esto podemos comprobar si se ha conectado correctamente entrando a la misma configuración de Selenium en Jenkins que hemos entrado antes:

jenkins-selenium

5. Creando nuestro primer Test

A la hora de crear test de Selenium que se ejecuten en uno de los ordenadores que forman parte de Selenium Grid, tenemos que darle la IP del HUB (en este caso la de nuestro servidor de Jenkins ), y tener una serie de dependencias en el proyecto:

   <dependency>
        <groupId>junit</groupId>
        <artifactId>junit-dep</artifactId>
        <version>4.10</version>
    </dependency>

    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-java</artifactId>
       <version>2.31.0</version>
    </dependency>

El código Java de nuestro test seria el siguiente:

public class RemoteWebDriverTest {
    public static WebDriver driver;

    @BeforeClass
    public static void conectarDriver() throws MalformedURLException {
         driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.chrome());
    }

    @Test
    public void elTituloDeGoogleEsGoogle(){
        driver.get("http://www.google.es");
        assertEquals(driver.getTitle(), "Google");
    }

    @AfterClass
    public static void cerrarDriver(){
        driver.close();
    }
}

Es un simple test que abrirá una ventana de Chrome, irá a Google y comprobará si el titulo es Google.

6. Ejecutando nuestros test en Jenkins

Una vez tengamos hecho esto, solo tenemos que meter nuestro test en nuestro proyecto de Jenkins e indicarle que queremos realizar una build ahora, una vez descargue las dependencias necesarias, podremos ver como se abrirá una ventana de Google Chrome en el nodo que hayamos conectado.

jenkins-selenium

7. Conclusiones

Gracias a Selenium Grid podemos aprovechar todo el poder de ejecutar test funcionales automáticos sin aumentar el tiempo de nuestras builds excesivamente, ademas de poder probar tu aplicación en distintos navegadores y sistemas operativos sin esfuerzo añadido.

Comentarios

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Desarrollador Web y Experto en Android.

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

02/03/2026

José Antonio Sánchez Segovia

Zephyr es un RTOS open source respaldado por la Linux Foundation que permite desarrollar dispositivos embebidos conectados, eficientes y escalables, facilitando el paso de prototipo a producto final con una arquitectura mantenible.

23/02/2026

Enrique Casado Díez

LoRa y LoRaWAN son tecnologías clave en el ecosistema IoT cuando se requiere largo alcance y bajo consumo energético. En este artículo analizamos su funcionamiento, Spreading Factor, link budget, arquitectura de red, frecuencias y clases de dispositivos, con un caso práctico real.

19/02/2026

Juan José Díaz Antuña

Copilot Chat es la forma más sencilla y segura de empezar a usar IA en Microsoft 365. En este artículo vemos cómo funciona, cómo activarlo y en qué se diferencia de Microsoft 365 Copilot, Copilot Studio y los Agentes Inteligentes, con ejemplos prácticos y una comparativa clara.