Verificaciones y validaciones (assert vs verify)

Intermedio
Selenium
Selenium
Actualizado: 05/09/2025

¡Desbloquea el curso de Selenium completo!

IA
Ejercicios
Certificado
Entrar

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 Plus

Diferencia entre Assert y Verify

En Selenium IDE, los comandos de validación se dividen en dos categorías fundamentales que determinan cómo debe comportarse nuestro test cuando una verificación falla. Esta distinción es crítica para el diseño de estrategias de testing eficaces.

Los comandos assert actúan como validaciones estrictas o "hard assertions". Cuando un comando assert encuentra una condición que no se cumple, detiene inmediatamente la ejecución del test completo. No se ejecutarán los comandos posteriores al assert fallido, y el test se marcará como fallido en ese punto exacto.

Por el contrario, los comandos verify funcionan como validaciones flexibles o "soft assertions". Si un comando verify detecta que una condición no se cumple, registra el error en el log de Selenium IDE pero permite que el test continúe ejecutándose. Todos los comandos posteriores al verify fallido se ejecutarán normalmente, aunque el test final se marcará como fallido si hubo verificaciones que no pasaron.

Comportamiento en la práctica

Consideremos un ejemplo donde validamos varios elementos de una página de confirmación de pedido:

Usando Assert (ejecución se detiene en el primer fallo):

assertText | id=titulo-pagina | Confirmación de Pedido
assertElementPresent | id=numero-pedido
assertText | id=estado-pedido | Procesando
assertElementPresent | id=boton-seguimiento

Si el elemento id=numero-pedido no existe, el test se detendrá ahí mismo. Los comandos para verificar el estado del pedido y el botón de seguimiento nunca se ejecutarán.

Usando Verify (ejecución continúa tras los fallos):

verifyText | id=titulo-pagina | Confirmación de Pedido  
verifyElementPresent | id=numero-pedido
verifyText | id=estado-pedido | Procesando
verifyElementPresent | id=boton-seguimiento

Si el elemento id=numero-pedido no existe, Selenium IDE registrará el error pero continuará verificando el estado del pedido y la presencia del botón de seguimiento. Al final del test, tendremos información completa sobre todos los elementos que fallaron.

Cuándo usar cada tipo

Utiliza Assert cuando:

  • La condición es prerequisito absoluto para continuar el test
  • Un fallo hace que el resto de verificaciones sea irrelevante
  • Quieres optimizar el tiempo de ejecución parando en el primer error crítico
  • Estás validando elementos fundamentales como login o navegación inicial

Utiliza Verify cuando:

  • Necesitas un informe completo de todos los problemas encontrados
  • Los fallos son independientes entre sí
  • Quieres obtener la máxima información de cada ejecución de test
  • Estás validando múltiples elementos de una interfaz

Impacto en los logs

Ambos tipos de comandos registran información detallada en el panel de logs de Selenium IDE. La diferencia principal es que con verify, podrás ver todos los errores acumulados en una sola ejecución, mientras que con assert solo verás el primer error encontrado antes de que se detuviera la ejecución.

Esta diferencia fundamental entre assert y verify te permite diseñar estrategias de testing más efectivas, combinando ambos tipos según las necesidades específicas de validación de cada escenario.

Comandos de validación más importantes

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.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Selenium IDE proporciona una amplia gama de comandos de validación que nos permiten verificar el estado y contenido de los elementos en nuestras páginas web. Estos comandos son fundamentales para crear tests robustos que confirmen que nuestra aplicación funciona correctamente.

Validación de presencia de elementos

Los comandos más básicos y frecuentemente utilizados son aquellos que verifican si un elemento está presente en la página:

assertElementPresent y verifyElementPresent

assertElementPresent | id=boton-enviar
verifyElementPresent | css=.mensaje-error

Estos comandos únicamente comprueban que el elemento existe en el DOM, independientemente de si es visible para el usuario o no. Son especialmente útiles para validar que la estructura básica de la página se ha cargado correctamente.

assertElementNotPresent y verifyElementNotPresent

assertElementNotPresent | id=mensaje-error
verifyElementNotPresent | css=.loading-spinner

Estos comandos verifican que un elemento no existe en la página. Son muy útiles para confirmar que mensajes de error no aparecen cuando una operación es exitosa, o que elementos temporales como spinners de carga han desaparecido.

Validación de visibilidad

Para elementos que pueden estar presentes pero ocultos, utilizamos comandos específicos de visibilidad:

assertElementVisible y verifyElementVisible

assertElementVisible | id=menu-usuario
verifyElementVisible | xpath=//div[@class='notificacion-exito']

Estos comandos confirman que el elemento no solo existe, sino que también es visible para el usuario final.

assertElementNotVisible y verifyElementNotVisible

assertElementNotVisible | id=panel-administrador
verifyElementNotVisible | css=.mensaje-temporal

Perfectos para validar que ciertos elementos están ocultos según las condiciones específicas del test.

Validación de texto

Los comandos de validación de texto son cruciales para verificar que el contenido mostrado al usuario es el correcto:

assertText y verifyText

assertText | id=titulo-pagina | Bienvenido a la aplicación
verifyText | css=.precio-total | 125,50 €

Estos comandos validan que el texto exacto del elemento coincide con el valor esperado. Son sensibles a mayúsculas, espacios y caracteres especiales.

assertTextPresent y verifyTextPresent

assertTextPresent | Pedido procesado correctamente
verifyTextPresent | Su solicitud ha sido enviada

Estos comandos buscan el texto especificado en cualquier lugar de la página, sin necesidad de especificar un localizador. Son útiles para validar mensajes que pueden aparecer en diferentes ubicaciones.

Validación de valores de campos

Para formularios y campos de entrada, disponemos de comandos específicos:

assertValue y verifyValue

assertValue | id=campo-email | usuario@ejemplo.com
verifyValue | name=cantidad | 5

Estos comandos verifican el valor actual de campos de formulario como inputs, textareas y selects.

assertSelectedLabel y verifySelectedLabel

assertSelectedLabel | id=pais | España
verifySelectedLabel | name=categoria | Electrónicos

Específicamente diseñados para validar la opción seleccionada en listas desplegables, verificando el texto visible de la opción.

Validación de atributos

Para verificar propiedades específicas de los elementos HTML:

assertAttribute y verifyAttribute

assertAttribute | id=enlace-externo@href | https://www.ejemplo.com
verifyAttribute | css=.imagen-producto@alt | Descripción del producto

La sintaxis utiliza el formato localizador@atributo para especificar qué atributo HTML queremos validar.

Comandos de validación de título

Para verificar el título de la página actual:

assertTitle y verifyTitle

assertTitle | Panel de Control - Mi Aplicación
verifyTitle | Resultado de búsqueda

Especialmente útiles para confirmar que la navegación ha funcionado correctamente y estamos en la página esperada.

Estrategias de uso combinado

En la práctica profesional, es común combinar diferentes tipos de validaciones en un mismo test:

# Validación crítica que debe pasar para continuar
assertElementPresent | id=formulario-login

# Validaciones informativas que pueden fallar
verifyText | css=.mensaje-bienvenida | ¡Hola de nuevo!
verifyElementVisible | id=boton-recordar-password
verifyAttribute | id=campo-usuario@placeholder | Introduce tu email

Esta combinación nos permite obtener información completa sobre el estado de la página manteniendo la lógica de ejecución apropiada para cada situación específica.

Los comandos de validación son la base para crear tests confiables que nos proporcionen feedback preciso sobre el comportamiento de nuestras aplicaciones web desde la perspectiva del usuario final.

Aprendizajes de esta lección de Selenium

  • Comprender la diferencia fundamental entre assert y verify en Selenium IDE.
  • Aprender cuándo utilizar comandos assert para validaciones críticas que detienen la ejecución.
  • Conocer el uso de comandos verify para obtener informes completos sin detener el test.
  • Identificar los principales comandos de validación para presencia, visibilidad, texto, valores y atributos.
  • Saber combinar assert y verify para diseñar estrategias de testing efectivas y robustas.

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

⭐⭐⭐⭐⭐
4.9/5 valoración