Automatización avanzada en Java y Selenium que permite identificar y registrar el operador móvil de múltiples números telefónicos extraídos de un archivo Excel, optimizando procesos de consulta masiva y asegurando la precisión de los datos.
Este proyecto automatiza la consulta del operador móvil de uno o varios números telefónicos utilizando la página DoctorSIM.
El flujo principal es:
-
Leer los números desde un archivo Excel (.xlsx).
-
Ingresar automáticamente los números en la página web.
-
Obtener el nombre del operador correspondiente.
-
Escribir el resultado en la misma hoja Excel, en la columna asignada.
💡 Funciona de forma confiable incluso al alternar redes Wi-Fi, gracias a la implementación de esperas y reconexiones automáticas.
💡 El sistema está diseñado para ser robusto, modular y fácil de mantener, optimizando el tiempo en procesos repetitivos de consulta.
| Campo | Detalle |
|---|---|
| Versión Actual | 1.3.1 |
| Última Actualización | 23 de Enero, 2026 |
| Lenguaje | Java 17+ |
| Framework de Automatización | Selenium WebDriver |
| Gestión de Dependencias | Maven |
| Driver Manager | WebDriverManager |
| Lectura/Escritura de Excel | Apache POI |
El proyecto sigue un enfoque modular, organizado por capas para mejorar mantenibilidad, escalabilidad y pruebas:
| Capa | Paquete | Función |
|---|---|---|
| Automation | com.automatizacion.automation |
Contiene la lógica principal de la automatización y la integración de todas las capas. Punto de coordinación de la ejecución completa. |
| Controlador | com.automatizacion.controller |
Orquesta el flujo del programa, interactuando con las capas de model, service y view para ejecutar la automatización. |
| Driver | com.automatizacion.driver |
Maneja la configuración y administración de WebDriver, asegurando la conexión correcta con el navegador. |
| Locators | com.automatizacion.locators |
Contiene todos los localizadores de Selenium (By), centralizando los elementos web de manera organizada. |
| Modelo | com.automatizacion.model |
Gestiona la estructura de datos, incluyendo la lectura y escritura de archivos Excel, manipulación de números telefónicos y lectura de config.properties. |
| Repository | com.automatizacion.repository |
Encapsula la lógica de acceso a datos y almacenamiento temporal, sirviendo como puente entre model y service. |
| Service | com.automatizacion.service |
Contiene la lógica de negocio, como la alternancia de redes, validaciones y operaciones sobre los datos antes de enviarlos a la web. |
| Vista | com.automatizacion.view |
Gestiona la presentación de información, principalmente mostrando mensajes y resultados en consola. |
| Aplicación | App.java |
Punto de inicio del programa. |
⚡ Esta arquitectura asegura que cada capa tenga una responsabilidad única, facilitando la incorporación de nuevas funciones sin comprometer la estabilidad.
| Tecnología | Uso |
|---|---|
| Java 17+ | Lógica principal del proyecto |
| Selenium WebDriver | Automatización de la web |
| Apache POI | Lectura y escritura de archivos Excel |
| WebDriverManager | Gestión automática del driver |
| Maven | Manejo de dependencias y compilación |
⚡ Características Destacadas
Lectura/escritura de Excel robusta con Apache POI.
Automatización confiable con Selenium WebDriver.
Alternancia automática de redes Wi-Fi para obtener IPs diferentes.
Manejo de tiempos de espera para evitar errores de carga en la web.
Compatible con múltiples números y hojas de Excel.
© 2025 Johan Sebastian Peña Ordoñez



