Configuración Selenium en Maven
Para agregar Selenium basta con añadir la dependencia selenium-java, junto al framework de testing que estemos usando como por ejemplo JUnit 5.
<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.34.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.13.4</version>
<scope>test</scope>
</dependency>
</dependencies>
Configuración del compilador Java
Para garantizar compatibilidad con Java 21 LTS y las características modernas del lenguaje, es esencial configurar correctamente el plugin del compilador Maven. Esta configuración asegura que el proyecto utilice las últimas funcionalidades de Java.
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
<configuration>
<source>21</source>
<target>21</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.2</version>
</plugin>
</plugins>
</build>
Reemplazar la versión “21” por la que se desee utilizar.
Verificación de la configuración
Una vez configuradas las dependencias, es importante verificar que Maven puede resolver correctamente todas las librerías. El comando mvn dependency:tree muestra el árbol completo de dependencias, permitiendo identificar posibles conflictos de versiones.
mvn clean compile
mvn dependency:tree
La salida del comando debe mostrar todas las dependencias de Selenium y JUnit 5 sin conflictos. Si aparecen advertencias sobre versiones duplicadas, es recomendable utilizar la sección <dependencyManagement> para forzar versiones específicas y mantener la consistencia del proyecto.
Configuración Selenium en Gradle
La configuración con Gradle ofrece una sintaxis más concisa y moderna para gestionar las dependencias de Selenium.
Gradle utiliza un DSL (Domain Specific Language) que simplifica la configuración del proyecto y proporciona mejor rendimiento en la resolución de dependencias comparado con Maven.
El archivo build.gradle debe comenzar con la configuración de plugins y la especificación de la versión de Java. La configuración del toolchain de Java garantiza que el proyecto utilice consistentemente Java 21 en todas las fases de compilación y ejecución.
plugins {
id 'java'
id 'java-library'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
Bloque de dependencias para Selenium y JUnit 5
El bloque dependencies en Gradle utiliza configuraciones específicas para diferentes tipos de dependencias. La configuración testImplementation es la apropiada para las librerías de testing, mientras que implementation se reserva para dependencias del código principal.
dependencies {
// https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
testImplementation("org.seleniumhq.selenium:selenium-java:4.34.0")
// JUnit 5 (Jupiter)
testImplementation 'org.junit.jupiter:junit-jupiter:5.13.4'
}
Verificación y comandos útiles
Una vez configurado el build.gradle, es importante verificar que todas las dependencias se resuelven correctamente. Gradle proporciona comandos específicos para inspeccionar y validar la configuración del proyecto.
# Verificar dependencias
./gradlew dependencies --configuration testRuntimeClasspath
# Compilar el proyecto
./gradlew compileTestJava
# Ejecutar pruebas
./gradlew test
El comando dependencies muestra el árbol completo de dependencias resueltas, permitiendo identificar posibles conflictos de versiones. La salida debe mostrar todas las librerías de Selenium y JUnit 5 sin advertencias de exclusiones o incompatibilidades.
Fuentes y referencias
Documentación oficial y recursos externos para profundizar en Selenium
Documentación oficial de Selenium
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Selenium es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.
Más tutoriales de Selenium
Explora más contenido relacionado con Selenium y continúa aprendiendo con nuestros tutoriales gratuitos.
Aprendizajes de esta lección
- Configurar correctamente las dependencias de Selenium 4.30+ y JUnit 5 en proyectos Maven.
- Ajustar el compilador Java para compatibilidad con Java 21 en Maven.
- Configurar dependencias y plugins esenciales en Gradle para Selenium y JUnit 5.
- Integrar funcionalidades avanzadas como Chrome DevTools y logging.
- Verificar la correcta resolución de dependencias y mantener la consistencia del proyecto.