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.
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:
- Alert simple - Haz clic en "Guardar Configuración", lee el mensaje y acepta
- Confirm dialog - Haz clic en "Eliminar Cuenta", confirma la acción (accept)
- Confirm dialog con cancelación - Repite el proceso pero esta vez cancela (dismiss)
- Prompt dialog - Cambia el nombre de usuario ingresando "nuevo_usuario"
- 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
conExpectedConditions.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 relacionadaMá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 SeleniumSolución al ejercicio de programación en Selenium
¡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.
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