Contenido8 secciones
Introducción a Java Selenium
Java + Selenium es la combinación más demandada en testing enterprise. Java da robustez y ecosistema; Selenium da capacidad de automatizar cualquier navegador.
Esta ruta te lleva desde tu primer script hasta un framework completo con Page Object Model, TestNG, reportes y CI/CD. No es el camino más corto, pero es el que más puertas abre en el mercado laboral español y europeo.
Fundamentos de Java
Variables, tipos de datos, estructuras de control, arrays, clases, objetos, herencia, polimorfismo, interfaces, excepciones y manejo de archivos.
Practica con ejercicios de HackerRank o Exercism enfocados a automatización. No necesitas ser experto en Spring o microservicios, pero sí escribir código limpio, reutilizable y bien estructurado.
Selenium WebDriver
Configura WebDriver con ChromeDriver. Aprende localizadores: id, name, class, tag, XPath y CSS selectors. Maneja formularios, dropdowns, checkboxes, alerts, iframes y ventanas múltiples.
Implementa esperas explícitas (WebDriverWait) en lugar de sleeps. Usa ExpectedConditions para esperar elementos visibles, clicables o con texto específico. Esto elimina la inestabilidad de los tests.
TestNG vs JUnit
TestNG es el estándar en testing enterprise por su potencia: paralelismo, dependencias entre tests, data providers, listeners y reportes integrados.
Configura un proyecto Maven con TestNG + Selenium. Aprende annotations (@Test, @BeforeMethod, @DataProvider). Usa data providers para ejecutar el mismo test con múltiples sets de datos. Esto reduce drásticamente la duplicación de código.
Frameworks de automatización
No reinventes la rueda. Frameworks como Serenity BDD o Selenide encapsulan patrones comunes y dan reportes profesionales sin esfuerzo.
Comienza con Selenide por su API simplificada y manejo automático de waits. Si el proyecto crece, evalúa Serenity para reportes detallados y documentación viva. Lo importante es que tu framework sea mantenible, no que uses el último hype.
Buenas prácticas
Page Object Model obligatorio. Separación clara entre capa de page objects, capa de tests y utilidades. Uso de constants para localizadores y timeouts.
Datos de prueba externalizados (properties, JSON o bases de datos de test). Screenshots automáticos en fallo. Logging estructurado. Suites ejecutables tanto local como en CI. Un buen framework se mide por cuánto tiempo puedes dejarlo sin tocarlo y sigue funcionando.
CI/CD integration
Configura GitHub Actions o GitLab CI para ejecutar tu suite en cada push. Usa Docker para garantizar el mismo entorno en local y CI.
Configura headless mode para ejecutar Chrome sin interfaz gráfica. Genera reportes HTML y allure. Notifica fallos por email o Slack. Un pipeline verde que falla cuando hay bugs es la mejor carta de presentación que puedes tener.
Recursos relacionados
Proyecto real
Automatiza una aplicación web real: puede ser una demo pública o un proyecto propio.
Incluye tests funcionales de UI y API, Page Objects organizados, TestNG con DataProviders, reportes HTML, y CI/CD con GitHub Actions. Documenta todo en el README. Ese proyecto es tu mejor CV.
Recursos relacionados