Sesión 7 de mi lab de Selenium + Java: Page Object Model — por qué separar Pages de Tests La Page interactúa con la UI, el Test decide si está bien o mal. Anatomía de LoginPage, DashboardPage, validaciones con check.java y logs claros.
Sesión 6 de mi lab de Selenium + Java: Esperas Implícitas, Explícitas y Fluent Waits Por qué Thread.sleep hace tests lentos, cuándo NO usar implicitWait, cómo WebDriverWait sincroniza con el DOM. Uso de FluentWait. Decisiones.
Sesión 5 de mi lab de Selenium + Java: Localizadores en Selenium DOM, selector, locator y By: qué es cada cosa y cómo elegir el mejor. Jerarquía práctica de id a XPath. Primer test de login real en demo.serenity.is
Sesión 4 de mi lab de Selenium + Java: Dejé de hardcodear, ahora uso config.properties y DriverManager Eliminar hardcoding del framework. config.properties para URLs y browsers, DriverManager para centralizar el driver. Código real y decisiones.
Sesión 3 de mi lab de Selenium + Java: pom.xml, Logback, estructura de carpetas Configuré pom.xml, Logback y estructuré carpetas base/pages/utils/test. El framework empieza a tomar forma.
Sesión 2 de mi lab de Selenium + Java: Por qué borré todo y volví al día 1 Tenía un framework completo armado con IA. Lo borré. No entendía qué hacía cada pieza. Preferí volver al test simple y construir desde ahí.
Cómo arreglé los errores 4xx de Bing cuando Cloudflare bloqueaba mi sitio Bing reportaba errores 400-499. Bot Fight Mode, Block AI bots y Browser Integrity Check bloqueaban el crawler. Proceso completo de diagnóstico y solución.
Sesión 1 de mi lab de QA Automation: Selenium + Java desde cero Por qué Selenium sobre Cypress, Java sobre Python, TestNG sobre JUnit. Setup completo en IntelliJ y primer test ejecutado. Decisiones técnicas y de mercado.
Cuánta seguridad necesita realmente un blog personal Audité la seguridad de mi blog con varias herramientas públicas. Un análisis práctico sobre riesgos reales, decisiones conscientes y por qué no todo sitio necesita seguridad de banco.