Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Selenium — Avanzado

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Selenium

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a ingenieros y automatizadores de QA con experiencia previa en Selenium que necesitan llevar sus suites de pruebas al siguiente nivel de madurez técnica, este curso aborda el diseño y la evolución de frameworks de automatización web profesionales en entornos reales de integración continua. A lo largo de las ocho horas el participante aprenderá a arquitecturar soluciones multi-browser y multi-entorno aplicando patrones de diseño avanzados, a dominar estrategias de localización resilientes ante cambios de DOM, a ejecutar pruebas en paralelo mediante Selenium Grid, a diagnosticar y corregir flaky tests con criterios objetivos, y a integrar la suite completa en un pipeline CI/CD con quality gates y reporting automático. Al finalizar, el participante será capaz de entregar un framework de automatización E2E robusto, mantenible y alineado con los estándares de calidad del equipo de desarrollo.

  1. Describir los principios de arquitectura de un framework de automatización multi-browser y multi-entorno, identificando el rol de los patrones de diseño POM y sus complementarios en la mantenibilidad del código.
  2. Comparar la resiliencia de selectores CSS, XPath relativo y atributos ARIA ante cambios de DOM, seleccionando la estrategia de localización más adecuada para cada escenario.
  3. Aplicar estrategias de espera explícita y condiciones personalizadas para anticipar puntos de ruptura de sincronización en flujos asíncronos complejos propios de SPAs y carga dinámica.
  4. Configurar la ejecución paralela de una suite completa mediante Selenium Grid o un servicio equivalente, reduciendo el tiempo total de ejecución de forma medible.
  5. Diagnosticar flaky tests en una suite existente, identificando su causa raíz y proponiendo correcciones verificables a través de métricas de estabilidad.
  6. Diseñar la cobertura E2E aplicando criterios de priorización basados en riesgo y eliminando redundancia con pruebas de niveles inferiores.
  7. Construir la integración de Selenium en un pipeline CI/CD completo con reporting automático, umbrales de calidad y notificaciones de fallo, evaluando críticamente los trade-offs frente a herramientas alternativas como Playwright o Cypress mediante métricas objetivas.

Arquitectura de frameworks de automatización avanzados Se exploran los principios de diseño que sustentan un framework de automatización web profesional: cómo combinar el patrón Page Object Model con al menos un patrón adicional (Screenplay, Factory, Builder) para soportar múltiples navegadores y múltiples entornos de forma coherente y extensible. Se analiza la organización de capas, la gestión de configuración y las convenciones de nomenclatura que facilitan el mantenimiento a largo plazo.

Estrategias de localización resilientes Se profundiza en la evaluación comparativa de selectores CSS avanzados, XPath relativo y atributos ARIA, poniendo el foco en su comportamiento ante refactorizaciones de la interfaz y cambios de DOM. Se establecen criterios prácticos para elegir el selector más resistente en cada contexto y se estudian técnicas para validar la estabilidad de los localizadores en el tiempo.

Sincronización en aplicaciones asíncronas Se abordan los patrones de ruptura de sincronización más frecuentes en SPAs y páginas con carga dinámica. El participante implementa condiciones de espera explícita personalizadas que van más allá de las esperas genéricas, aprendiendo a modelar el estado esperado de la aplicación como una condición verificable y repetible.

Ejecución paralela y Selenium Grid Se configura una topología de Selenium Grid (o servicio equivalente en la nube) para distribuir la ejecución de la suite entre varios nodos, midiendo la reducción real del tiempo total de ejecución. Se tratan los aspectos de aislamiento de datos de prueba, gestión de sesiones concurrentes y depuración de fallos en entornos distribuidos.

Diagnóstico y estabilización de flaky tests Se introduce una metodología sistemática para identificar tests inestables, clasificar sus causas raíz (dependencias de orden, recursos compartidos, sincronización deficiente, datos no deterministas) y aplicar correcciones verificables. Se definen métricas de estabilidad que permiten monitorizar la evolución de la suite a lo largo del tiempo.

Cobertura E2E basada en riesgo e integración CI/CD Se trabaja la priorización de pruebas extremo a extremo aplicando modelos de riesgo y valor de negocio, eliminando duplicación con la cobertura de tests de unidad e integración. A continuación se diseña la integración completa de la suite en un pipeline CI/CD: configuración de jobs, umbrales de calidad (quality gates), generación de informes automáticos y notificaciones de fallo. El bloque cierra con un análisis crítico de los trade-offs entre Selenium y alternativas como Playwright o Cypress, utilizando métricas objetivas para fundamentar la decisión tecnológica en distintos contextos.

  • Máquina con al menos 8 GB de RAM y 20 GB de espacio libre en disco.
  • Docker Desktop instalado y en ejecución (para levantar nodos de Selenium Grid localmente).
  • Navegadores Chrome y Firefox en sus versiones estables más recientes, junto con los drivers correspondientes (ChromeDriver, GeckoDriver) o gestión automática mediante una librería de drivers.
  • Entorno de desarrollo configurado para el lenguaje elegido (Python 3.10+, Java 17+ o Node.js 18+) con gestor de dependencias funcional (pip, Maven/Gradle o npm).
  • Acceso a un servicio de CI/CD (GitHub Actions, GitLab CI o Jenkins) con permisos para crear y modificar pipelines.
  • IDE con soporte de depuración y terminal integrada (VS Code, IntelliJ IDEA o equivalente).
  • Manejo fluido de Selenium WebDriver con al menos un lenguaje de programación (Python, Java o JavaScript).
  • Implementación del patrón Page Object Model en proyectos reales.
  • Conocimiento de frameworks de testing (pytest, JUnit, Mocha o equivalente) y ejecución de suites desde línea de comandos.
  • Comprensión básica de HTML, CSS y el árbol DOM.
  • Familiaridad con conceptos de control de versiones (Git) y pipelines de integración continua.