Verifique el elemento presente y espere el comando en Selenium
⚡ Resumen inteligente
Verificar la presencia del elemento y los comandos waitFor en Selenium El IDE confirma que una página contiene los elementos y el texto que espera una prueba, y pausa la reproducción hasta que una condición dinámica se cumpla antes de ejecutar el siguiente paso.

un grabado Selenium IDE El script hace clic y escribe, pero por sí solo nunca decide si la aplicación se comportó correctamente. Dos familias de comandos realizan ese trabajo: verificar comandos, que comprueban el estado de la página y esperar comandos que detienen la ejecución hasta que la página esté lista para ser revisada.
⚠️ Una nota sobre las versiones: Las capturas de pantalla que aparecen a continuación provienen del original. Firefox-enchufar Selenium IDE, que ya no se distribuye, y usan sus nombres selenes en camelCase. El IDE actual es Chrome, Firefox y Edge extensión del navegador. El comportamiento descrito aquí sigue siendo válido, pero varios nombres de comandos cambiaron: un mapaping La tabla aparece más adelante en este artículo, y cada comando y captura de pantalla original se conserva exactamente como se publicó.
Verificar la presencia de un elemento
Podemos utilizar los siguientes dos comandos para verificar la presencia de un elemento:
- verificarElementoPresente – devuelve VERDADERO si el elemento especificado se ENCONTRÓ en la página; FALSO en caso contrario
- verificarElementNotPresent – devuelve VERDADERO si el elemento especificado NO se ENCONTRÓ en ninguna parte de la página; FALSO si está presente.
Ambos comandos toman un elemento localizador en el Target campo: un ID, un nombre, un selector CSS, un texto de enlace o un XPath expresión — y ninguna necesita un valor.
El script de prueba a continuación verifica que el cuadro de texto Nombre de usuario esté presente dentro del Mercury Página de inicio de Tours, mientras que el cuadro de texto Nombre no está. El cuadro de texto Nombre es en realidad un elemento presente en la página de Registro de Mercury Tours, no en la página de inicio.
Porque estos son verificar comandos en lugar de afirmar Si se producen errores en los comandos, se registra un fallo en el archivo de registro y los pasos restantes se ejecutan igualmente. Esta distinción se explica con más detalle más adelante.
Verificar la presencia de un determinado texto en el comando en Selenium
Comprobar que un elemento existe no siempre es suficiente; a menudo, una prueba necesita confirmar las palabras que se muestran al usuario. Dos comandos de texto cubren ese caso.
- verificarTextoPresente – devuelve VERDADERO si la cadena de texto especificada se ENCONTRÓ en algún lugar de la página; FALSO en caso contrario
- verificarTextoNoPresente – devuelve VERDADERO si la cadena de texto especificada NO se ENCONTRÓ en ninguna parte de la página; FALSO si se encontró
Recuerde que estos comandos distinguen entre mayúsculas y minúsculas.
El registro que aparece a continuación muestra la misma página revisada dos veces con dos grafías diferentes de la misma frase.
En el escenario anterior, "Atlanta a Las Vegas" se trató de manera diferente a "atlanta a Las Vegas" porque la letra "A" de "Atlanta" estaba en mayúscula en la primera y en minúscula en la segunda. Al usar el comando verifyTextPresent en cada una, una se procesó correctamente y la otra falló.
Verificar la posición específica de un elemento
Los defectos de diseño rara vez afectan a un localizador, por lo que las comprobaciones de presencia no los detectan. Los comandos de posición solucionan ese problema.
Selenium IDE indica la posición de un elemento midiendo (en píxeles) qué tan lejos está del borde izquierdo o superior de la ventana del navegador.
- verificarElementPositionLeft – verifica si el número especificado de píxeles coincide con la distancia del elemento desde el borde izquierdo de la página. Esto devolverá FALSO si el valor especificado no coincide con la distancia desde el borde izquierdo.
- verificarPosiciónElementoSuperior – verifica si el número especificado de píxeles coincide con la distancia del elemento desde el borde superior de la página. Esto devolverá FALSO si el valor especificado no coincide con la distancia desde el borde superior.
El siguiente script registra los desplazamientos de píxeles esperados en la columna Valor.
Trate estos dos comandos con precaución. El desplazamiento de píxeles varía según el tamaño de la ventana, el nivel de zoom y las fuentes instaladas, por lo que un valor fijo que funciona en un equipo puede fallar en otro.
Esperar comandos en Selenium
Un comando de verificación solo puede inspeccionar lo que ya está en pantalla, por lo que una comprobación que se ejecuta demasiado pronto falla aunque la aplicación esté funcionando. Los comandos de espera solucionan ese problema de sincronización.
Los siguientes son los tipos de comandos de espera en Selenium
y esperar comandos
Estos son comandos que esperarán a que se cargue una nueva página antes de pasar al siguiente comando.
Ejemplos son
- hacer clic y esperar
- escriba y espere
- seleccionar y esperar
Cada una de ellas es una orden de acción ordinaria con el sufijo AndWait añadido, como muestra el paso grabado a continuación.
esperar por comandos
Estos son comandos que esperan a que se cumpla una condición específica antes de pasar al siguiente comando (independientemente de que se cargue una nueva página). Estos comandos son más apropiados para usarse en sitios web dinámicos basados en AJAX que cambian valores y elementos sin recargar toda la página. Ejemplos incluyen:
- esperar por el título
- esperarParaTextoPresente
- esperar alerta
Considere el escenario de Facebook a continuación.
Podemos usar una combinación de "hacer clic" y "esperarForTextPresent" para verificar la presencia del texto "Proporcionar su cumpleaños".
No podemos usar clickAndWait porque no se cargó ninguna página al hacer clic en "¿Por qué debo proporcionar mi fecha de nacimiento?" enlace. Si lo hacemos, la prueba fallará.
La misma regla se aplica a cualquier contenido inyectado por script en lugar de por navegación, por eso Pantallas controladas por AJAX casi siempre es necesario waitFor en lugar de andWait.
Comandos Assert vs Verify vs waitFor en Selenium IDE
Los principiantes frecuentemente eligen la familia equivocada y luego se preguntan por qué un conjunto se detiene en el primer defecto, o por qué informa veinte fallas que todos trace volver a uno. Los tres prefijos responden a tres preguntas diferentes.
| Prefijo | ¿Qué hace? | En caso de fracaso | Mejores usados para |
|---|---|---|---|
| afirmar | Comprueba una condición inmediatamente | Registra el fallo y detiene el caso de prueba. | Requisitos previos: un inicio de sesión que debe ser exitoso antes de que cualquier otra cosa tenga sentido. |
| verificar | Comprueba una condición inmediatamente | Registra el fallo y continúa con el siguiente comando. | Controles independientes, como varias etiquetas en una página de confirmación. |
| esperarPor | Las encuestas se realizarán hasta que la condición se cumpla. | Registra el fallo una vez que expira el tiempo de espera y luego continúa. | Todo lo que aparezca tarde: respuestas AJAX, indicadores de carga, diálogos. |
Un patrón práctico combina los tres: afirmar la página en la que se aterrizó, esperar el elemento que llega de forma asíncrona y luego verificar cada campo individual. Hacerlo en ese orden significa que una navegación defectuosa detiene la prueba prematuramente, mientras que un puñado de discrepancias cosméticas se informan en una sola ejecución. La misma disciplina se traslada a Selenium pruebas escritas en código, donde los equivalentes son aserciones estrictas, aserciones flexibles y esperas explícitas.
Comandos de verificación y espera en el actual Selenium IDE
El FirefoxEl IDE de plugin que generó las capturas de pantalla anteriores fue retirado y el conjunto de comandos se reconstruyó para la extensión de navegador actual. Varios nombres de Selenese se conservaron, algunos fueron renombrados y unos pocos fueron eliminados. La tabla a continuación relaciona los comandos utilizados en este artículo con sus equivalentes actuales, tomados de la documentación oficial. Selenium Referencia de comandos del IDE.
| Comando selenese heredado | Comando en el IDE actual |
|---|---|
| verificarElementoPresente | verificar la presencia del elemento |
| verificarElementNotPresent | verificar que el elemento no esté presente |
| verificarTextoPresente | verificar texto (limitado a un localizador de elemento, no a toda la página) |
| verificarTextoNoPresente | verificar que no sea texto (limitado a un localizador de elementos) |
| verificarTítulo | verificar título |
| verificarPosiciónElementoIzquierda / verificarPosiciónElementoSuperior | No hay equivalente: se eliminaron las afirmaciones de posición. |
| clicYEsperar, escribirYEsperar, seleccionarYEsperar | Sin el sufijo AndWait: el comando open ya espera a que se cargue la página. |
| esperarPorElementoPresente | esperar a que el elemento esté presente, con un tiempo de espera en milisegundos |
| esperar alerta | Confirme la alerta o verifique el texto de la alerta después de que aparezca el cuadro de diálogo. |
Dos diferencias son cruciales en el trabajo diario. Primero, los comandos de espera actuales —esperar a que el elemento esté presente, esperar a que el elemento sea visible, esperar a que el elemento sea editable y sus equivalentes negativos— requieren un tiempo de espera explícito en milisegundos, por lo que un paso lento ya no tiene que compartir un tiempo de espera global. Segundo, la búsqueda de texto en toda la página ha desaparecido: verificar el texto requiere un localizador, que generalmente produce una comprobación más precisa.
Errores comunes con los comandos Verify y waitFor
La mayoría de los problemas reportados con estos comandos no son defectos del IDE. La siguiente lista incluye los fallos más frecuentes y cómo solucionarlos.
- El elemento existe, pero la comprobación sigue fallando. La presencia y la visibilidad son estados diferentes. Un elemento oculto tras una regla CSS sigue presente en el DOM, por lo que conviene combinar la comprobación de presencia con la espera a que el elemento sea visible cuando la prueba dependa de que el usuario lo vea realmente.
- La comprobación de texto falla cuando la redacción parece idéntica. Los espacios de no separación, los espacios en blanco al final de las líneas y los apóstrofes curvados copiados de un documento de diseño impiden una coincidencia exacta. Vuelva a escribir la cadena esperada manualmente en lugar de pegarla.
- Un comando de espera agota el tiempo de espera en una página que claramente se cargó. El elemento suele estar dentro de un iframe. Ejecute primero la selección del marco; de lo contrario, el localizador se evaluará en el documento incorrecto.
- clickAndWait se bloquea en una aplicación de una sola página. No se produce ninguna navegación, por lo que no hay nada que esperar. Sustitúyalo por un clic seguido del comando waitFor correspondiente.
- La comprobación de posición se realiza correctamente a nivel local, pero falla en el servidor de compilación. El tamaño de la pantalla y la representación de la fuente varían. Se recomienda realizar una comprobación de presencia o de texto, o bien, establecer un tamaño de ventana explícito al inicio de la prueba.
- Todo el proceso se detiene ante la primera discrepancia. Se registró un comando de aserción donde se pretendía registrar un comando de verificación. Cambie el prefijo y la ejecución informará de todos los fallos en lugar de solo del primero.
Una vez que un guion sobrevive a estas trampas, el siguiente paso suele ser... Almacenar valores de tiempo de ejecución en variables De esta forma, las comprobaciones se comparan con datos reales en lugar de con cadenas de texto predefinidas.






