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í.
Lo que tenía
Después del día 1, seguí trabajando con Claude y ChatGPT.
Les pedí que me ayudaran a armar "un framework profesional".
Y lo hicieron.
En unos minutos tenía esto:
selenium-java/
├── src/
│ ├── main/java/com/cesar/qa/
│ │ ├── base/
│ │ │ └── BasePage.java ← Wrapper de Selenium
│ │ ├── config/
│ │ │ ├── ConfigReader.java ← Lee config.properties
│ │ │ └── DriverManager.java ← Gestiona WebDriver
│ │ ├── pages/
│ │ │ ├── LoginPage.java ← Page Object del login
│ │ │ └── DashboardPage.java ← Page Object del dashboard
│ │ └── utils/
│ │ └── TestLogger.java ← Logging de acciones
│ └── test/
│ ├── java/com/cesar/qa/tests/
│ │ └── LoginTests.java ← Tests de login
│ └── resources/
│ ├── config.properties ← URLs, credenciales
│ ├── testng.xml ← Configuración de ejecución
│ └── logback.xml ← Logging
└── pom.xml
Estructura de carpetas del framework complejo: BasePage, ConfigReader, DriverManager, LoginPage, DashboardPage, TestLogger y archivos de configuración

POM desde cero.
BasePage con wrappers.
DriverManager con ThreadLocal.
Config.properties.
Logging tipo TestComplete (es la herramienta que uso en mi trabajo actual)
Estructura de carpetas preciosa.
Clases por todos lados.
Cada archivo tenía entre 50 y 150 líneas de código.
Todo "profesional".
Todo "bien estructurado".
El problema: no entendía la mitad de lo que había ahí.
Maté el framework “pro”
Miraba el código y me aparecían preguntas:
- ¿Por qué
ConfigReaderlee un.propertiessi solo tengo una URL? - ¿Qué hace exactamente
BasePageque no pueda hacer directamente? - ¿Por qué necesito
DriverManagerseparado si WebDriverManager ya existe? - ¿Qué es
logback.xmly por qué lo necesito ahora?
Podía leer las explicaciones de la IA.
Podía copiar y pegar.
Podía intentar hacer que "funcione", porque las primeras veces que ejecuté debí de arreglar varias cosas.
Pero no podía decir que lo entendía.
Era demasiado. Demasiado pronto.
Mucho copiar/pegar. Mucha explicación.
Poco Run. Poco Debug. Poco entender.
Y lo peor: me estaba dando una excusa perfecta para procrastinar.
Porque cuando algo se siente gigante, mi cerebro hace esto: “mañana lo hago”.
Y mañana se convierte en semanas.
Eso no es construir.
Así que hoy tomé una decisión simple:
Reset. Volver al Día 1.
No estoy construyendo un framework para impresionar.
Estoy construyendo uno para aprender y usar.
Y eso exige otra cosa:
Prefiero ejecutar 10 veces algo simple, que copiar 1 vez algo complejo que no entiendo.
No es que la arquitectura sea mala
Esa estructura con BasePage, ConfigReader, DriverManager no es incorrecta.
Es lo que usan frameworks profesionales. Es hacia donde voy a llegar.
Pero es prematura para el día 2.
Es como querer aprender a manejar y empezar con un auto de Fórmula 1. Técnicamente es un auto. Pero no es por donde se empieza.
Probablemente use lo que la IA me recomiende, pero quiero hacerlo estando más seguro de lo que implemento y cómo hacerlo.
Reinicio
Guardé ese framework en una branch aparte del repo.

Reinicio para ir paso a paso.
Podré llegar a ese framework profesional pero avanzando script por script.
Volví al PrimerTest.java del día 1:

27 líneas. Sin arquitectura. Sin patrones.
Pero cada línea la entiendo.
Selenium no me emociona (todavía)
Hay algo más.
Me cuesta concentrarme en esto. Procrastino bastante. Estas semanas "perdí" más tiempo del que me gustaría admitir.
Y si soy honesto: Selenium no me emociona. No es que lo odie, pero no es algo que me haga saltar de la cama.
Lo empecé porque lo necesito. Porque es lo que pide el mercado. Porque quiero ganar más, tener más opciones, crecer profesionalmente.
No es pasión. Es decisión.
Y está bien. No todo lo que vale la pena aprender tiene que emocionarte antes de empezar.
Capaz cuando lo domine me cope. Capaz sienta orgullo de saber usar esta tecnología con criterio. Capaz no.
Pero eso no cambia que hay que hacerlo.
Qué me quedo por ahora
De todo lo “pro”, hoy me quedo con lo mínimo que me deja avanzar:
Un pom.xml que compile, ejecute y me deje correr tests sin excusas.
Nada más.
Ese es el “suelo” sobre el que voy a construir.
La explicación del por qué de este pom la dejo para el Día 3.
Sesión 3: Codear, no copiar/pegar
Mañana el objetivo es:
- POM simple y que entienda
- BasePage simple y que entienda
- Algún test simple y que entienda
La estructura vendrá sola.
Cuando me duela no tenerla.
🔗 Todo el código de esta serie está en: github.com/cesarbeassuarez/qa-automation-lab
📂 selenium-java
—
Tema conectado:
Dia 1 de este lab de Selenium con java.