Reto localizadores tradicionales

Código
Intermedio
Selenium
Curso de Selenium
20 min
200 XP
Actualizado: 25/09/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Reto localizadores tradicionales

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Selenium. Es un ejercicio de nivel intermedio que requiere conocimientos sólidos de la tecnología.

Tipo: Ejercicio de código 20 minutos estimados 200 puntos de experiencia

Información adicional del ejercicio

Aprende a utilizar los localizadores esenciales de Selenium.

Contenido del ejercicio

Objetivo

Demostrar el dominio de los localizadores básicos de Selenium (id, name, className, linkText, partialLinkText, tagName) mediante la localización de elementos específicos en una página web.

Escenario

Tienes que automatizar la interacción con una página de registro que contiene el siguiente HTML:

<!DOCTYPE html>
<html>
<head>
    <title>Formulario de Registro - Academia Selenium</title>
</head>
<body>
    <header>
        <h1>Academia de Automatización Web</h1>
        <nav class="main-navigation">
            <a href="/inicio">Inicio</a>
            <a href="/cursos">Nuestros Cursos Disponibles</a>
            <a href="/contacto">Contacto</a>
        </nav>
    </header>
    
    <main>
        <form id="registration-form" action="/register" method="post">
            <h2>Registro de Nuevo Estudiante</h2>
            
            <input id="student-email" name="email" type="email" 
                   placeholder="Correo electrónico" required>
            
            <input name="fullname" type="text" 
                   placeholder="Nombre completo" required>
            
            <input name="password" type="password" 
                   placeholder="Contraseña" required>
            
            <select name="course" required>
                <option value="">Selecciona un curso</option>
                <option value="selenium">Selenium WebDriver</option>
                <option value="cypress">Cypress Testing</option>
            </select>
            
            <button id="submit-btn" class="btn-primary" type="submit">
                Registrarse Ahora
            </button>
        </form>
        
        <div class="info-section">
            <p>¿Ya tienes cuenta? 
               <a href="/login">Inicia sesión aquí</a>
            </p>
            <p class="help-text">
                Si necesitas ayuda, consulta nuestra 
                <a href="/help">Guía completa de registro paso a paso</a>
            </p>
        </div>
    </main>
</body>
</html>

Tareas a realizar

Tu misión es localizar los siguientes elementos usando el localizador MÁS APROPIADO para cada caso:

  1. Campo de email - Usar el localizador más eficiente disponible
  2. Campo de nombre completo - Usar localizador semánticamente apropiado para formularios
  3. Botón de registro - Usar el localizador más rápido posible
  4. Enlace "Nuestros Cursos Disponibles" - Usar localización por texto exacto
  5. Enlace de ayuda - Usar localización por texto parcial (buscar solo "Guía completa")
  6. El formulario completo - Usar localización por etiqueta HTML
  7. Navegación principal - Usar localización por clase CSS

Requisitos técnicos

  • Usa driver.get("data:text/html;charset=utf-8," + java.net.URLEncoder.encode(htmlContent, "UTF-8")); para cargar el HTML directamente
  • Debes declarar la variable htmlContent como String con el HTML completo
  • Cada localización debe usar el método más eficiente según la teoría vista
  • Incluye al menos una aserción que verifique que localizó correctamente 3 elementos diferentes
  • Bonus: Implementa una estrategia de fallback para uno de los elementos

Criterios de evaluación

  • ✅ Uso correcto de By.id() para elementos con identificador único
  • ✅ Uso de By.name() para campos de formulario
  • ✅ Aplicación apropiada de By.className()
  • ✅ Implementación de By.linkText() con coincidencia exacta
  • ✅ Uso de By.partialLinkText() para búsqueda flexible
  • ✅ Localización estructural con By.tagName()
  • ✅ Al menos 3 aserciones que validen elementos localizados

Lección relacionada

Este ejercicio está relacionado con la lección "Localizadores tradicionales" de Selenium. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

Más ejercicios de Selenium

Explora más ejercicios de programación en Selenium para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de Selenium

Solución al ejercicio de programación en Selenium

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Selenium para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Selenium

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Selenium

⭐⭐⭐⭐⭐
4.9/5 valoración