En este tema, aprenderás a interactuar con dos tipos comunes de elementos web: los desplegables (dropdowns) y las casillas de verificación (checkboxes). Estos elementos son fundamentales en la mayoría de las aplicaciones web, y saber cómo manejarlos es crucial para automatizar pruebas efectivas con Selenium.

Desplegables (Dropdowns)

Los desplegables son menús que permiten al usuario seleccionar una opción de una lista. En HTML, estos se representan con la etiqueta <select>. Para interactuar con ellos en Selenium, utilizamos la clase Select.

Interactuando con Desplegables

  1. Importar la clase Select: Antes de trabajar con desplegables, necesitas importar la clase Select de Selenium.

  2. Localizar el elemento <select>: Usa un localizador adecuado para encontrar el elemento desplegable.

  3. Crear una instancia de Select: Pasa el elemento localizado a la clase Select.

  4. Seleccionar una opción: Puedes seleccionar una opción por índice, valor o texto visible.

Ejemplo de Código

from selenium import webdriver
from selenium.webdriver.support.ui import Select

# Inicializar el navegador
driver = webdriver.Chrome()

# Abrir la página web
driver.get("URL_DE_TU_PAGINA")

# Localizar el elemento desplegable
dropdown_element = driver.find_element_by_id("id_del_desplegable")

# Crear una instancia de Select
dropdown = Select(dropdown_element)

# Seleccionar una opción por texto visible
dropdown.select_by_visible_text("Opción 1")

# Seleccionar una opción por valor
dropdown.select_by_value("valor_opcion_2")

# Seleccionar una opción por índice
dropdown.select_by_index(3)

# Cerrar el navegador
driver.quit()

Ejercicio Práctico

Tarea: Escribe un script que abra una página web con un desplegable, seleccione una opción por texto visible y verifique que la opción correcta está seleccionada.

Solución:

from selenium import webdriver
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()
driver.get("URL_DE_TU_PAGINA")

dropdown_element = driver.find_element_by_id("id_del_desplegable")
dropdown = Select(dropdown_element)

# Seleccionar una opción por texto visible
dropdown.select_by_visible_text("Opción 1")

# Verificar que la opción correcta está seleccionada
assert dropdown.first_selected_option.text == "Opción 1"

driver.quit()

Casillas de Verificación (Checkboxes)

Las casillas de verificación permiten al usuario seleccionar múltiples opciones. En HTML, se representan con la etiqueta <input type="checkbox">.

Interactuando con Casillas de Verificación

  1. Localizar la casilla de verificación: Usa un localizador adecuado para encontrar el elemento.

  2. Seleccionar o deseleccionar: Usa el método click() para cambiar el estado de la casilla.

  3. Verificar el estado: Usa el atributo is_selected() para verificar si la casilla está marcada.

Ejemplo de Código

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("URL_DE_TU_PAGINA")

# Localizar la casilla de verificación
checkbox = driver.find_element_by_id("id_de_la_casilla")

# Seleccionar la casilla si no está seleccionada
if not checkbox.is_selected():
    checkbox.click()

# Verificar que la casilla está seleccionada
assert checkbox.is_selected()

# Deseleccionar la casilla si está seleccionada
if checkbox.is_selected():
    checkbox.click()

# Verificar que la casilla no está seleccionada
assert not checkbox.is_selected()

driver.quit()

Ejercicio Práctico

Tarea: Escribe un script que abra una página web con varias casillas de verificación, seleccione todas las casillas y verifique que todas están seleccionadas.

Solución:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("URL_DE_TU_PAGINA")

# Localizar todas las casillas de verificación
checkboxes = driver.find_elements_by_css_selector("input[type='checkbox']")

# Seleccionar todas las casillas
for checkbox in checkboxes:
    if not checkbox.is_selected():
        checkbox.click()

# Verificar que todas las casillas están seleccionadas
for checkbox in checkboxes:
    assert checkbox.is_selected()

driver.quit()

Conclusión

En esta sección, aprendiste a manejar desplegables y casillas de verificación usando Selenium. Estos elementos son comunes en las interfaces de usuario y saber cómo interactuar con ellos es esencial para automatizar pruebas de manera efectiva. En el siguiente tema, exploraremos cómo trabajar con alertas y ventanas emergentes, ampliando aún más tus habilidades en la automatización de pruebas.

Automatización de Pruebas con Selenium

Módulo 1: Introducción a la Automatización de Pruebas

Módulo 2: Comenzando con Selenium

Módulo 3: Localización de Elementos Web

Módulo 4: Interacción con Elementos Web

Módulo 5: Sincronización en Selenium

Módulo 6: Marcos de Pruebas y Selenium

Módulo 7: Conceptos Avanzados de Selenium

Módulo 8: Selenium Grid y Pruebas en Paralelo

Módulo 9: Integración Continua y Selenium

Módulo 10: Mejores Prácticas y Solución de Problemas

© Copyright 2024. Todos los derechos reservados