GUÍA DE NAVEGACIÓN DEL NAVEGADOR - HAKALAB FRAMEWORK
====================================================

Esta guía explica cómo navegar y controlar el navegador en tus pruebas automatizadas.

ÍNDICE
======
1. Navegación Básica
2. Historial del Navegador
3. Ventanas y Pestañas
4. Viewport y Zoom
5. Alertas y Diálogos
6. Ejemplos Prácticos

====================================================

1. NAVEGACIÓN BÁSICA
====================

Ir a URL:
- voy a la url "https://example.com"
- I go to URL "https://example.com"
- voy a la url de la variable "base_url"
- I go to URL from variable "base_url"

Recargar Página:
- recargo la página
- I reload the page
- recargo la página sin caché
- I reload the page without cache

Esperar Carga:
- espero a que cargue la página
- I wait for page to load
- espero a que la página termine de cargar
- I wait for page to finish loading

====================================================

2. HISTORIAL DEL NAVEGADOR
==========================

Atrás:
- voy hacia atrás
- I go back
- voy hacia atrás 2 pasos
- I go back 2 steps

Adelante:
- voy hacia adelante
- I go forward
- voy hacia adelante 1 paso
- I go forward 1 step

====================================================

3. VENTANAS Y PESTAÑAS
======================

Abrir Pestaña:
- abro una nueva pestaña
- I open a new tab
- abro una nueva ventana
- I open a new window

Cerrar Pestaña:
- cierro la pestaña actual
- I close the current tab
- cierro la ventana actual
- I close the current window

Cambiar Pestaña:
- cambio a la pestaña 1
- I switch to tab 1
- cambio a la pestaña con título "Dashboard"
- I switch to tab with title "Dashboard"
- cambio a la pestaña con url que contiene "admin"
- I switch to tab with URL containing "admin"

Cambiar Ventana:
- cambio a la nueva ventana
- I switch to new window
- cambio a la ventana con título "Configuración"
- I switch to window with title "Settings"

====================================================

4. VIEWPORT Y ZOOM
==================

Tamaño de Ventana:
- establezco el tamaño de ventana a 1920x1080
- I set window size to 1920x1080
- maximizo la ventana
- I maximize the window
- minimizo la ventana
- I minimize the window

Zoom:
- establezco el zoom a 100%
- I set zoom to 100%
- aumento el zoom a 150%
- I increase zoom to 150%
- disminuyo el zoom a 75%
- I decrease zoom to 75%

Viewport:
- establezco el viewport a 375x667 (móvil)
- I set viewport to 375x667 (mobile)
- establezco el viewport a 768x1024 (tablet)
- I set viewport to 768x1024 (tablet)

====================================================

5. ALERTAS Y DIÁLOGOS
====================

Aceptar Alerta:
- acepto la alerta
- I accept the alert
- acepto la alerta con texto "¿Estás seguro?"
- I accept the alert with text "Are you sure?"

Rechazar Alerta:
- rechazo la alerta
- I dismiss the alert
- rechazo la alerta con texto "Cancelar"
- I dismiss the alert with text "Cancel"

Obtener Texto de Alerta:
- obtengo el texto de la alerta y lo guardo en la variable "alert_message"
- I get alert text and store it in variable "alert_message"

Prompt:
- manejo el prompt del navegador con texto "Respuesta" y acción "accept"
- I handle browser prompt with text "Answer" and action "accept"

====================================================

6. EJEMPLOS PRÁCTICOS
=====================

Ejemplo 1: Navegación Básica

Feature: Navegación del navegador

  Scenario: Navegar entre páginas
    Given voy a la url "https://example.com"
    Then debería ver el texto "Bienvenido"
    
    When hago click en el enlace "Productos" con identificador "#products-link"
    Then la url actual debería contener "/products"
    
    When voy hacia atrás
    Then la url actual debería contener "/"
    
    When voy hacia adelante
    Then la url actual debería contener "/products"

Ejemplo 2: Manejo de Ventanas

Feature: Manejo de múltiples ventanas

  Scenario: Trabajar con múltiples ventanas
    Given voy a la url "https://example.com"
    
    When hago click en el enlace "Abrir en nueva ventana" con identificador "#new-window-link"
    And cambio a la nueva ventana
    Then la url actual debería contener "nueva-pagina"
    
    When cambio a la ventana anterior
    Then la url actual debería contener "example.com"

Ejemplo 3: Alertas

Feature: Manejo de alertas

  Scenario: Interactuar con alertas
    Given voy a la url "https://example.com/alerts"
    
    When hago click en el botón "Mostrar Alerta" con identificador "#show-alert"
    And acepto la alerta
    Then debería ver el texto "Alerta aceptada"
    
    When hago click en el botón "Mostrar Confirmación" con identificador "#show-confirm"
    And rechazo la alerta
    Then debería ver el texto "Confirmación rechazada"

====================================================

CONCLUSIÓN

La navegación del navegador es fundamental para crear pruebas automatizadas 
efectivas. El framework proporciona herramientas completas para controlar 
el navegador y manejar diferentes escenarios de navegación.

====================================================
Documento generado automáticamente - Hakalab Framework v1.3.0
Guía de Navegación del Navegador
Fecha: Enero 2026
====================================================
