Reto Alerts y Dialogs

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 Alerts y Dialogs

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 manejar alerts y dialogs en Selenium.

Contenido del ejercicio

Objetivo

Dominar el manejo de diálogos JavaScript utilizando la interfaz Alert y ExpectedConditions.alertIsPresent() para crear pruebas robustas.

Escenario

Automatiza las interacciones con una página de configuración de cuenta que utiliza diferentes tipos de diálogos JavaScript:

<!DOCTYPE html>
<html>
<head>
    <title>Configuración de Cuenta - Alerts Challenge</title>
    <script>
        function showInfoAlert() {
            alert('Tu configuración ha sido guardada exitosamente.');
        }
        
        function showConfirmDialog() {
            var result = confirm('¿Estás seguro de que quieres eliminar tu cuenta?');
            if (result) {
                document.getElementById('status').textContent = 'Cuenta eliminada';
            } else {
                document.getElementById('status').textContent = 'Eliminación cancelada';
            }
        }
        
        function showPromptDialog() {
            var newName = prompt('Ingresa tu nuevo nombre de usuario:', 'usuario123');
            if (newName && newName.trim() !== '') {
                document.getElementById('username-display').textContent = 'Usuario: ' + newName;
            }
        }
        
        function showDelayedAlert() {
            setTimeout(function() {
                alert('Proceso completado después de 3 segundos');
            }, 3000);
        }
    </script>
</head>
<body>
    <div id="account-settings">
        <h1>Configuración de Cuenta</h1>
        
        <button id="save-config" onclick="showInfoAlert()">
            Guardar Configuración
        </button>
        
        <button id="delete-account" onclick="showConfirmDialog()">
            Eliminar Cuenta
        </button>
        
        <button id="change-username" onclick="showPromptDialog()">
            Cambiar Nombre de Usuario
        </button>
        
        <button id="async-process" onclick="showDelayedAlert()">
            Proceso Asíncrono
        </button>
        
        <div id="status"></div>
        <div id="username-display">Usuario: usuario_actual</div>
    </div>
</body>
</html>

Tareas a realizar

Maneja los diferentes tipos de diálogos:

  1. Alert simple - Haz clic en "Guardar Configuración", lee el mensaje y acepta
  2. Confirm dialog - Haz clic en "Eliminar Cuenta", confirma la acción (accept)
  3. Confirm dialog con cancelación - Repite el proceso pero esta vez cancela (dismiss)
  4. Prompt dialog - Cambia el nombre de usuario ingresando "nuevo_usuario"
  5. Alert con espera explícita - Usa WebDriverWait para el proceso asíncrono

Requisitos técnicos

  • Usa driver.switchTo().alert() para acceder a los diálogos
  • Utiliza WebDriverWait con ExpectedConditions.alertIsPresent() para el alert asíncrono
  • Incluye 3 aserciones que verifiquen los resultados
  • Bonus: Verifica el texto del alert antes de interactuar con él

Criterios de evaluación

  • alert.accept() para cerrar diálogos afirmativamente
  • alert.dismiss() para cancelar diálogos
  • alert.getText() para leer mensajes
  • alert.sendKeys() para ingresar texto en prompts
  • ExpectedConditions.alertIsPresent() para esperas explícitas
  • ✅ Verificación de efectos de las acciones en la página

¡Recuerda cerrar el driver con **driver.quit()** al final!

Lección relacionada

Este ejercicio está relacionado con la lección "Alerts y Dialogs" 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