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
-
Importar la clase Select: Antes de trabajar con desplegables, necesitas importar la clase
Select
de Selenium. -
Localizar el elemento
<select>
: Usa un localizador adecuado para encontrar el elemento desplegable. -
Crear una instancia de Select: Pasa el elemento localizado a la clase
Select
. -
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
-
Localizar la casilla de verificación: Usa un localizador adecuado para encontrar el elemento.
-
Seleccionar o deseleccionar: Usa el método
click()
para cambiar el estado de la casilla. -
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
- ¿Qué es la Automatización de Pruebas?
- Beneficios de la Automatización de Pruebas
- Visión General de Selenium
- Configuración de Tu Entorno
Módulo 2: Comenzando con Selenium
- Introducción a Selenium WebDriver
- Instalación de Selenium WebDriver
- Primer Script de Selenium
- Entendiendo la Interfaz WebDriver
Módulo 3: Localización de Elementos Web
- Introducción a los Localizadores
- Uso de Localizadores ID y Name
- XPath y Selectores CSS
- Estrategias Avanzadas de Localización
Módulo 4: Interacción con Elementos Web
- Realizando Acciones en Elementos Web
- Manejo de Desplegables y Casillas de Verificación
- Trabajando con Alertas y Ventanas Emergentes
- Gestión de Ventanas del Navegador y Marcos
Módulo 5: Sincronización en Selenium
Módulo 6: Marcos de Pruebas y Selenium
- Introducción a TestNG
- Configuración de TestNG con Selenium
- Creación de Casos de Prueba TestNG
- Pruebas Basadas en Datos con TestNG
Módulo 7: Conceptos Avanzados de Selenium
- Manejo de Llamadas AJAX
- Trabajando con Cookies
- Captura de Capturas de Pantalla
- Ejecución de JavaScript con Selenium
Módulo 8: Selenium Grid y Pruebas en Paralelo
- Introducción a Selenium Grid
- Configuración de Selenium Grid
- Ejecución de Pruebas en Paralelo
- Pruebas en Múltiples Navegadores
Módulo 9: Integración Continua y Selenium
- Introducción a la Integración Continua
- Integración de Selenium con Jenkins
- Automatización de la Ejecución de Pruebas
- Reportes y Registro