Repaso
English
TestingIntermedioTST-41

¿Cómo diseñarías un framework de automatización con Selenium (Java) que sea mantenible?

Respuesta

  • Stack: Java, JUnit 5 (o TestNG), Selenium WebDriver, Maven, AssertJ, informes (Allure).
  • Estructura: Page Object Model; clases pequeñas de componentes para widgets compartidos; los tests solo describen pasos de usuario.
  • Estabilidad: locators estables (data-testid), solo explicit waits, nada de Thread.sleep, reintentos solo para ruido conocido de infraestructura.
  • Datos: crea los datos de test por la API o la base de datos antes del test; tests independientes que puedan correr en cualquier orden y en paralelo.
  • Ejecución: Chrome headless en CI (GitHub Actions/Jenkins), Selenium Grid o Docker para ejecuciones en paralelo y entre navegadores; capturas y logs al fallar.
  • Alcance: pocos flujos E2E para recorridos críticos; el resto en unit tests y tests de API.

Términos clave

Practica esta pregunta en Repaso