Almacenar variables, eco, alerta, manejo de ventanas emergentes en Selenium IDE
⚡ Resumen inteligente
Comandos de almacenamiento en Selenium El IDE guarda los valores de tiempo de ejecución en variables con nombre, el comando echo los imprime en el registro y una familia de comandos dedicada gestiona las alertas, los cuadros de diálogo de confirmación y el cambio entre varias ventanas del navegador.

En este tutorial aprenderá los comandos de la tienda, el comando echo y el manejo de alertas y ventanas emergentes en Selenium IDEEn conjunto, estos comandos transforman un script grabado fijo en uno que reacciona a lo que la aplicación devuelva en tiempo de ejecución.
⚠️ Una nota sobre las versiones: Las capturas de pantalla que aparecen a continuación provienen del original. Firefox-enchufar Selenium IDE, y los comandos usan sus nombres selenes en camelCase. El Chrome actual, Firefox y la extensión Edge mantiene el mismo comportamiento pero escribe la mayoría de los nombres de comandos con espacios. Un mapaping La tabla aparece casi al final de este artículo, y cada comando y captura de pantalla original se conserva tal como se publicó.
Selenium Variables IDE
Tienda
Para almacenar variables en Selenium IDE, usamos el tienda comando. La siguiente ilustración almacena el valor “tutorial” en una variable llamada “myVariable”.
Para acceder a la variable, simplemente enciérrela entre el símbolo ${ … }. Por ejemplo, para introducir el valor de “myVariable” en el cuadro de texto “userName” de Mercury Tours, ingrese ${myVariable} en el campo Valor.
Comando de eco en Selenium IDE
Una variable almacenada es invisible hasta que algo la imprime, y eso es lo que la echo El comando sí lo hace. Escribe un mensaje en el panel de registro del IDE durante la reproducción, lo que lo convierte en la forma más rápida de confirmar que un comando de almacenamiento capturó lo que esperabas antes de crear aserciones sobre él.
El comando acepta cualquiera de las dos formas:
- Una cadena literal. Coloca el texto en el Target campo, por ejemplo Paso de inicio de sesión finalizado, para marcar un punto de control en un script largo.
- Una variable. Coloca ${myVariable} en el Target campo y el valor almacenado se imprime en lugar del nombre.
Dos hábitos hacen que echo sea mucho más útil de lo que parece a primera vista. Imprime una variable inmediatamente después del comando store que la crea, de modo que un fallo sea tracSe dirigió a la captura en lugar de a la aserción veinte pasos después. Y anteponga a cada mensaje el paso al que pertenece, ya que el panel de registro muestra todos los comandos en una lista plana. Tenga en cuenta que `echo` solo escribe en el registro; nunca cambia la página ni provoca un fallo en una prueba, por lo que es seguro dejarlo en un script de forma permanente.
StoreElementPresente
Este comando almacena "verdadero" o "falso" dependiendo de la presencia del elemento especificado. El script a continuación almacena el valor booleano "verdadero" en "var1" y "falso" en "var2". Para verificar, utilizaremos el comando echo para mostrar los valores de var1 y var2. La base URL para la ilustración de abajo se configuró en el Mercury Página de inicio de excursiones.
Texto de la tienda
Este comando se utiliza para almacenar el texto interno de un elemento en una variable. La siguiente ilustración almacena el texto interno de la etiqueta h1 en la página de registro de Facebook en una variable llamada “textVar”.
Dado que es el único elemento de su tipo en la página, es seguro usar “css=h1” como nuestro objetivo. La imagen a continuación muestra que Selenium El IDE pudo guardar la cadena "Registro" en la variable "textVar", porque echo imprimió su valor correctamente.
Alertas, ventanas emergentes y múltiples Windows
Las alertas son probablemente la forma más simple de ventana emergente. La más común Selenium Los comandos IDE utilizados en el manejo de alertas son los siguientes:
| Alertas | Usos |
|---|---|
|
afirmar alerta afirmarNoAlert |
Recupera el mensaje de la alerta y lo compara con un valor de cadena que usted especificó. |
|
afirmarAlertPresente afirmarAlertNotPresent |
afirma si hay una alerta presente o no. |
| tiendaAlert | Recupera el mensaje de alerta y lo almacena en una variable que usted especifique. |
| storeAlertPresent | Devuelve VERDADERO si hay una alerta presente, FALSO en caso contrario. |
|
verificar alerta verificarNotAlert |
Recupera el mensaje de la alerta y verifica si coincide con el valor de cadena que usted especificó. |
|
verificarAlertPresent verificarAlertNotPresent |
verifica si hay una alerta presente o no. |
Recuerde estas dos cosas cuando trabaje con alertas:
- Selenium El IDE hace clic automáticamente en el botón Aceptar de la ventana de alerta, por lo que no podrá ver la alerta en sí.
- Selenium El IDE no puede gestionar las alertas que se activan dentro de la función onload() de la página. Solo gestiona las alertas que se generan después de que la página se haya cargado por completo.
En este ejemplo usamos el comando storeAlert para mostrar que aunque Selenium El IDE no mostró la alerta real, pero aun así pudo recuperar el mensaje.
Paso 1) In Selenium IDE, establece la base URL a http://jsbin.com. El completo URL es http://jsbin.com/usidix. Estos fragmentos de jsbin datan de la Firefox-era de complementos y puede que ya no funcione; cualquier página con un botón que muestre una alerta reproduce el mismo resultado.
Paso 2) Crea el script como se muestra a continuación. El comando click apunta al botón Go!, storeAlert captura el mensaje en alertMessage y echo lo imprime.
Paso 3) Ejecute el script y no espere ver la alerta. El panel de registro que aparece a continuación muestra el mensaje capturado, aunque el cuadro de diálogo nunca fue visible.
confirmaciones
Las confirmaciones son ventanas emergentes que muestran los botones Aceptar y Cancelar, a diferencia de las alertas, que solo muestran el botón Aceptar. Los comandos que se pueden usar para gestionar las confirmaciones son los mismos que los de las alertas.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresente / assertConfirmationNotPresente
- tiendaConfirmación
- tiendaConfirmaciónPresente
- verificarConfirmación / verificarNoConfirmación
- verificarConfirmaciónPresente / verificarConfirmaciónNoPresente
Además, estos comandos indican Selenium ¿Qué botón elegir, Aceptar o Cancelar?
- elegirAceptarEnLaSiguienteConfirmación / elegirAceptarEnLaSiguienteConfirmaciónYEsperar
- elegirCancelarEnSiguienteConfirmación
Coloca estos comandos antes el comando que activa el cuadro de confirmación, de modo que Selenium El IDE sabe de antemano qué opción elegir. De nuevo, no verás el cuadro de confirmación durante la ejecución del script.
Vamos a probar una página web con un botón programado para informar si el usuario pulsó Aceptar o Cancelar.
Paso 1) In Selenium IDE, establece la base URL a http://jsbin.com. El completo URL es http://jsbin.com/enifaf.
Paso 2) Crea el script como se muestra a continuación. Esta vez, primero pulsaremos el botón Aceptar.
Paso 3) Ejecuta el script y observa que no ves la confirmación real, pero la página web sigue informando qué botón pulsas. Selenium IDE presionado.
Paso 4) Reemplace el comando chooseOkOnNextConfirmation por chooseCancelOnNextConfirmation y ejecute el script nuevamente. Ahora la página mostrará la opción contraria.
Múltiple Windows
Si hace clic en un enlace que abre una ventana aparte, primero debe dar instrucciones. Selenium En el IDE, debes seleccionar esa ventana antes de poder acceder a los elementos que contiene. En el IDE anterior, se utiliza el título de la ventana como localizador.
Utilizamos el comando selectWindow para cambiar entre ventanas.
Usaremos el enlace http://jsbin.com/ocinaj/1, cuyo título es “First Window”. El hipervínculo “aquí” en esa página abre Facebook en una ventana nueva, después de lo cual le indicaremos Selenium IDE para hacer lo siguiente:
- Transfiera el control de la ventana principal a la ventana de Facebook recién abierta utilizando el comando selectWindow con el título de la ventana como localizador.
- Verifique el título de la nueva ventana.
- Seleccione de nuevo la ventana original utilizando el comando selectWindow con “null” como destino.
- Verifique el título de la ventana seleccionada actualmente.
El plan anterior se traduce en la secuencia de cuatro pasos que se muestra aquí.
Paso 1) Establecer las bases URL a http://jsbin.com.
Paso 2) Cree el script como se muestra a continuación.
Necesitamos el comando de pausa para esperar a que se cargue la ventana recién abierta antes de poder leer su título.
Paso 3) Ejecute el script. Note que el caso de prueba La prueba se completó con éxito, lo que significa que pudimos alternar entre ventanas y verificar sus títulos correctamente.
Recuerda siempre que al establecer el destino de selectWindow en "null" se selecciona automáticamente la ventana principal; en este caso, la ventana donde se encuentra el elemento "link=here".
Nota: Facebook ha cambiado el título de su página desde que se creó este tutorial. Modifique el título esperado en el script según corresponda.
MODERNA Selenium Equivalentes de estos comandos en el IDE
El Firefox-El complemento IDE fue retirado cuando Firefox se trasladó a la arquitectura WebExtensions y al Chrome actual, Firefox La extensión Edge renombró la mayoría de los comandos de Selenese a una forma con espacios. El comportamiento no ha cambiado, por lo que la tabla a continuación es todo lo que necesita para leer los scripts anteriores en una instalación actual.
| Comando heredado en este tutorial | Current Selenium Comando IDE |
|---|---|
| tienda | tienda |
| echo | echo |
| almacenarTexto | almacenar texto |
| storeElementPresent | Almacenar la presencia del elemento (o afirmar la presencia del elemento) |
| assertAlert / verifyAlert | alerta de aserción / alerta de verificación |
| elegirAceptarEnLaSiguienteConfirmación | Seleccione Aceptar en la siguiente confirmación. |
| elegirCancelarEnSiguienteConfirmación | Seleccione cancelar en la siguiente confirmación. |
| seleccionarVentana (título como destino) | Seleccione la ventana con el identificador ${handle} |
Hay dos diferencias que merece la pena destacar. Las indicaciones, que el artículo anterior no cubre, ahora tienen sus propios comandos: Responder en la siguiente pregunta planifica la respuesta antes de que aparezca el diálogo y Respuesta del controlador web en la solicitud visible escribe en un mensaje que ya está abierto. Y el cambio de ventana ya no depende del título de la página. Ejecutar manija de ventana de tienda para capturar primero un identificador, luego pasar identificador=${tuIdentificador} para seleccionar la ventana. Ese cambio elimina el modo de fallo descrito en la nota anterior, donde un sitio simplemente cambia el nombre de su página y el script deja de encontrar la ventana. El oficial Selenium Sitio del proyecto IDE Muestra el conjunto completo de comandos actuales.













