Mira la lección en vídeo
Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.
Desbloquear Plan PlusTipos de localizadores básicos
Los localizadores son la herramienta fundamental que permite a Selenium IDE identificar y encontrar elementos específicos en una página web durante la ejecución de un test. Cuando grabamos nuestras interacciones en Selenium IDE, la herramienta necesita saber exactamente con qué botón, campo de texto o enlace queremos interactuar cuando reproduzca el test posteriormente.
Un localizador funciona como una dirección postal digital: proporciona a Selenium IDE las instrucciones precisas para localizar un elemento particular entre todos los elementos presentes en una página web. Sin localizadores, sería imposible automatizar la interacción con interfaces de usuario web de manera confiable.
Por qué son importantes los localizadores
Durante el proceso de grabación, Selenium IDE observa nuestras acciones y automáticamente genera localizadores para cada elemento con el que interactuamos. Sin embargo, lo que hace especial a Selenium IDE es su capacidad de crear múltiples localizadores para cada elemento durante la grabación, proporcionando así redundancia y mayor fiabilidad.
Esta redundancia es crucial porque las páginas web son dinámicas y pueden cambiar con el tiempo. Si un localizador falla durante la reproducción del test, Selenium IDE automáticamente probará con los otros localizadores alternativos hasta encontrar uno que funcione, haciendo nuestros tests más resistentes a cambios menores en la interfaz.
Los tres localizadores básicos más confiables
Selenium IDE cuenta con varios tipos de localizadores, pero comenzaremos con los tres más básicos y confiables que cubren la mayoría de situaciones en el testing web:
- ID: El localizador más confiable y preferido cuando está disponible
- Name: Especialmente útil para elementos de formularios
- Link Text: Diseñado específicamente para enlaces y botones con texto
ID - La primera opción
El localizador ID es considerado el estándar de oro en la automatización web. Cuando un desarrollador asigna un atributo id
a un elemento HTML, este debe ser único en toda la página, lo que garantiza que Selenium IDE siempre encuentre exactamente el elemento correcto.
Un ID típico en HTML tiene este aspecto:
<input id="username" type="text" name="user">
<button id="login-button">Iniciar sesión</button>
Cuando Selenium IDE graba una interacción con estos elementos, automáticamente detecta y prioriza el ID como localizador principal. En el panel de comandos veremos algo como:
Command: type
Target: id=username
Value: mi_usuario
La ventaja principal del ID es su estabilidad: los desarrolladores raramente cambian los IDs una vez asignados, ya que suelen estar vinculados a funcionalidades específicas del código JavaScript de la aplicación.
Name - Perfecto para formularios
El localizador Name es especialmente común en formularios web, donde los elementos necesitan nombres específicos para el procesamiento del servidor. Aunque no garantiza unicidad como el ID, suele ser bastante confiable en contextos de formularios.
Un ejemplo típico sería:
<input name="email" type="email">
<select name="country">
<option value="es">España</option>
<option value="fr">Francia</option>
</select>
Selenium IDE grabará estos elementos usando:
Command: type
Target: name=email
Value: usuario@ejemplo.com
El atributo name es particularmente útil en formularios complejos donde múltiples campos pueden tener funciones similares pero nombres distintos, como billing_address
y shipping_address
.
Link Text - Específico para enlaces
El localizador Link Text está diseñado exclusivamente para elementos <a>
(enlaces) y botones que contengan texto visible. Este localizador busca el texto exacto que aparece entre las etiquetas del enlace.
Por ejemplo, con este HTML:
<a href="/contacto">Contactar con soporte</a>
<button type="submit">Enviar formulario</button>
Selenium IDE generará:
Command: click
Target: linkText=Contactar con soporte
Value:
La principal ventaja del Link Text es su legibilidad: al leer el test, inmediatamente entendemos con qué enlace estamos interactuando. Sin embargo, tiene la limitación de que solo funciona con elementos que contienen texto visible y debe coincidir exactamente con el texto mostrado.
Cómo Selenium IDE sugiere localizadores
Durante la grabación, Selenium IDE emplea un algoritmo inteligente que evalúa cada elemento y genera múltiples opciones de localizadores en orden de preferencia. El proceso típico es:
- 1. Busca primero un ID único
- 2. Si no hay ID, examina el atributo name
- 3. Para enlaces, considera el link text
- 4. Genera opciones adicionales como respaldo
Esta selección automática significa que como usuarios de Selenium IDE no necesitamos ser expertos en HTML para crear tests efectivos. La herramienta toma las mejores decisiones por nosotros, aunque siempre podemos modificar manualmente los localizadores si es necesario.
Cuando observemos el panel de comandos tras grabar una acción, veremos que Selenium IDE ha seleccionado automáticamente el localizador más apropiado basándose en las características del elemento y las mejores prácticas de automatización web.
ID, Name y Link Text en la práctica
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Una vez que comprendemos qué son los localizadores básicos, es momento de aplicarlos en situaciones reales. La experiencia práctica con estos localizadores nos permite desarrollar criterio para elegir el más apropiado en cada situación y saber cuándo es necesario editarlos manualmente.
Trabajar con localizadores ID en casos reales
Supongamos que estamos probando un formulario de registro en una aplicación web. Durante la grabación, Selenium IDE encuentra este elemento de entrada de email:
<input id="user-email" type="email" name="email" placeholder="Introduce tu email">
Al grabar la acción de escribir en este campo, Selenium IDE generará automáticamente:
Command: type
Target: id=user-email
Value: test@ejemplo.com
Este es un ejemplo perfecto de cuándo el ID es la mejor opción. El localizador id=user-email
es específico, único y altamente improbable que cambie, haciendo nuestro test muy confiable. Sin embargo, no todos los elementos tienen IDs tan claros.
Editar manualmente un localizador ID:
Si durante la reproducción del test observamos que falla en encontrar el elemento, podemos editar manualmente el campo Target. Hacemos clic en la celda Target del comando correspondiente y verificamos si el ID sigue siendo correcto en la página actual. A veces los desarrolladores cambian IDs durante el desarrollo, y necesitamos actualizar nuestros tests.
Aplicación práctica del localizador Name
Los localizadores name son especialmente útiles en formularios complejos. Consideremos este ejemplo de un formulario de checkout:
<form>
<input name="shipping_name" type="text" placeholder="Nombre completo">
<input name="shipping_address" type="text" placeholder="Dirección">
<input name="billing_name" type="text" placeholder="Nombre en la tarjeta">
<select name="payment_method">
<option value="card">Tarjeta</option>
<option value="paypal">PayPal</option>
</select>
</form>
Durante la grabación, Selenium IDE capturará estos elementos usando sus nombres:
Command: type
Target: name=shipping_name
Value: Juan García
Command: type
Target: name=shipping_address
Value: Calle Principal 123
Command: select
Target: name=payment_method
Value: label=PayPal
La ventaja práctica del name es su significado semántico: shipping_name
es mucho más claro que un ID como field_2847
. Esto hace que nuestros tests sean más legibles y fáciles de mantener.
Cuándo modificar manualmente un localizador Name
Imaginemos que el desarrollador cambia shipping_name
por customer_name
en una actualización. Nuestro test fallará, pero la solución es sencilla: editamos el Target de name=shipping_name
a name=customer_name
directamente en el panel de comandos.
Para verificar que el nuevo name es correcto, podemos usar las herramientas de desarrollador del navegador (F12), buscar el elemento en cuestión y confirmar su atributo name actual.
Localizador Link Text en navegación real
El localizador Link Text brilla especialmente en menús de navegación y botones con texto descriptivo. Consideremos esta barra de navegación típica:
<nav>
<a href="/productos">Nuestros Productos</a>
<a href="/soporte">Soporte Técnico</a>
<a href="/contacto">Contactar</a>
<button type="submit">Enviar Pedido</button>
</nav>
Al grabar la navegación por estos enlaces, Selenium IDE generará:
Command: click
Target: linkText=Nuestros Productos
Value:
Command: click
Target: linkText=Soporte Técnico
Value:
Command: click
Target: linkText=Enviar Pedido
Value:
La gran ventaja del Link Text es su legibilidad inmediata: cualquier persona que lea el test entiende exactamente qué enlace se está activando, sin necesidad de conocer HTML o inspeccionar el código fuente.
Limitaciones prácticas del Link Text
El Link Text tiene una limitación importante: debe coincidir exactamente con el texto visible. Si el enlace dice "Nuestros Productos" pero grabamos linkText=Productos
, el test fallará. En estos casos, tenemos dos opciones:
Opción 1: Editar manualmente el Target para que coincida exactamente:
Target: linkText=Nuestros Productos
Opción 2: Si el texto es demasiado largo o variable, cambiar a un localizador diferente como ID o name si están disponibles.
Estrategias para elegir el localizador correcto
En la práctica, desarrollamos intuición para elegir el mejor localizador basándonos en estas reglas:
- Priorizar ID cuando esté disponible y sea descriptivo (ejemplo:
id=submit-button
) - Usar Name en formularios, especialmente para campos de entrada (ejemplo:
name=username
) - Elegir Link Text para navegación y botones con texto claro (ejemplo:
linkText=Iniciar Sesión
)
Editar localizadores durante el desarrollo del test
Durante el desarrollo iterativo de tests, es común necesitar ajustar localizadores manualmente. El proceso típico es:
- 1. Ejecutar el test y observar dónde falla
- 2. Identificar el elemento problemático en la página
- 3. Hacer clic en el campo Target del comando que falla
- 4. Editar el localizador con la información correcta
- 5. Reproducir el test para verificar que funciona
Esta flexibilidad para editar manualmente los localizadores es una de las fortalezas de Selenium IDE: nos permite combinar la comodidad de la grabación automática con el control preciso cuando es necesario.
Validar localizadores con la herramienta de inspección
Selenium IDE incluye una herramienta de inspección que nos ayuda a verificar si un localizador funciona correctamente. Cuando editamos un Target, podemos usar el selector de elementos (el icono de diana al lado del campo Target) para confirmar que el localizador identifica el elemento correcto en la página actual.
Esta funcionalidad es especialmente útil cuando depuramos tests que funcionaban anteriormente pero ahora fallan, permitiéndonos identificar rápidamente si el problema está en el localizador o en otro aspecto del test.
Aprendizajes de esta lección de Selenium
- Comprender qué son los localizadores y su importancia en Selenium IDE.
- Identificar las características y usos de los localizadores ID, Name y Link Text.
- Aplicar localizadores básicos en situaciones reales de testing web.
- Saber cuándo y cómo editar manualmente los localizadores para mantener la fiabilidad de los tests.
- Utilizar la herramienta de inspección de Selenium IDE para validar localizadores.
Completa este curso de Selenium y certifícate
Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs