Registros en “Selenium”

Framework Selenium + Java construido desde cero: arquitectura POM, TestNG con DataProviders, esperas explícitas, validación de grillas contra Excel con Apache POI, Allure Reports con screenshots en fallo, y CI/CD completo con GitHub Actions corriendo tests en headless con reportes publicados en GitHub Pages. Cada post documenta decisiones reales, errores reales y código que funciona en producción.

CI/CD con GitHub Actions para Selenium: pipeline, Allure Reports y GitHub Pages

CI/CD con GitHub Actions para Selenium: pipeline, Allure Reports y GitHub Pages

Pipeline completo: 96 tests Selenium en headless, reporte Allure público en GitHub Pages. Los 7 errores reales que tuve que resolver.

Cómo implementé Allure Reports en mi framework de Selenium + Java

Cómo implementé Allure Reports en mi framework de Selenium + Java

Allure Reports con TestNG: @Step, @Description, @Severity, screenshots automáticos en fallo. Implementación completa con los errores que cometí.

Validar grilla web contra Excel con Selenium + Apache POI

Validar grilla web contra Excel con Selenium + Apache POI

SlickGrid, virtual scrolling, Apache POI y DataProvider. 91 registros validados en 1 min con data-driven testing. Código y errores reales.

DataProviders y assertions reales con TestNG en Selenium

DataProviders y assertions reales con TestNG en Selenium

Reemplacé validaciones manuales por Assert de TestNG y creé DataProviders en clase aparte. 5 tests, datos separados de lógica.

Migrar de main() a TestNG: framework Selenium con Java

Migrar de main() a TestNG: framework Selenium con Java

De un main() manual a TestNG con @Test, @BeforeMethod, BaseTest y testng.xml. 5 tests independientes, setup centralizado.

Page Object Model en Selenium con Java: separar Pages de Tests

Page Object Model en Selenium con Java: separar Pages de Tests

LoginPage, DashboardPage: la Page interactúa con la UI, el Test decide pass/fail. Anatomía completa del patrón POM.

Esperas en Selenium: ImplicitWait vs WebDriverWait vs FluentWait

Esperas en Selenium: ImplicitWait vs WebDriverWait vs FluentWait

Por qué Thread.sleep arruina tests, cuándo NO usar implicitWait y cómo WebDriverWait sincroniza con el DOM. Decisiones reales.

Localizadores en Selenium: de id a XPath, jerarquía práctica

Localizadores en Selenium: de id a XPath, jerarquía práctica

DOM, selector, locator y By: qué es cada cosa y cómo elegir el mejor. Primer test de login real con jerarquía de locators.

Eliminar hardcoding en Selenium: config.properties y DriverManager

Eliminar hardcoding en Selenium: config.properties y DriverManager

Centralizar configuración con config.properties y DriverManager. Código real y decisiones para un framework mantenible.