Afirmar y verificar en Selenium IDE

โšก Resumen inteligente

Selenium El IDE con scripts y comandos permite a los evaluadores grabar, editar y reproducir acciones del navegador mediante Selenese, el lenguaje de comandos ligero del IDE. Este artรญculo abarca la grabaciรณn de un script, la escritura manual de cรณdigo Selenese, la elecciรณn entre Assert y Verify, y la depuraciรณn con puntos de interrupciรณn.

  • ๐ŸŽฌ Primero en registrar: Selenium IDE captura automรกticamente los clics, las entradas y las aserciones mientras utilizas el navegador.
  • ๐Ÿงฉ Idioma selenese: Cada comando tiene un nombre, un objetivo opcional y un valor opcional; nunca mรกs de dos parรกmetros.
  • ๐Ÿ›‘ Afirmar vs. Verificar: Assert detiene la prueba si falla; Verify registra el fallo y continรบa con el siguiente paso.
  • ๐Ÿ” Tres tipos de comandos: Las acciones interactรบan con la pรกgina, los accesores leen el estado en variables y las aserciones comprueban las condiciones.
  • ???? Herramientas de depuraciรณn: Utilice las opciones Ejecutar comando, Punto de inicio, Puntos de interrupciรณn y Paso a paso para inspeccionar o volver a ejecutar un solo comando a la vez.
  • ๐Ÿค– Impulso de IA: Las herramientas de prueba de IA generan automรกticamente Selenese, sugieren localizadores robustos y convierten scripts IDE en Selenium Cรณdigo WebDriver.

ยฟCรณmo descifrar (hackear) una contraseรฑa?

Usaremos el Mercury El sitio web de Tours es nuestra aplicaciรณn web bajo prueba. Es un sistema de reserva de vuelos en lรญnea que contiene todos los elementos que necesitamos para este tutorial. Su base URL is https://demo.guru99.com/test/newtours/.

Creemos ahora nuestro primer script de prueba en Selenium Utilizaremos el IDE mediante el mรฉtodo mรกs comรบn: la grabaciรณn. Posteriormente, ejecutaremos el script utilizando la funciรณn de reproducciรณn.

Nota: Este tutorial utiliza el clรกsico Firefox-solamente Selenium IDE 1.x con Firebug para introducir los fundamentos de Selenese. Firebug fue retirado en Firefox 57, y el moderno Selenium IDE ahora es Chrome / Firefox Extensiรณn para el navegador Edge con una interfaz de usuario diferente. Los conceptos, tipos de comandos y funciones de depuraciรณn de Selenese que se describen a continuaciรณn siguen siendo aplicables directamente al nuevo IDE.

Crear un guiรณn grabando

Paso 1)

  • Lanza Firefox y Selenium IDE
  • Escriba el valor para nuestra base. URL: https://demo.guru99.com/test/newtours/.
  • Toggly active el botรณn de grabaciรณn (si no estรก activado por defecto).

Selenium IDE con base URL Botรณn de configuraciรณn y grabaciรณn activado

Paso 2) In Firefox, navegue a https://demo.guru99.com/test/newtours/. Firefox Deberรญa aparecer en una pรกgina similar a la que se muestra a continuaciรณn.

Mercury Pรกgina principal de Tours en Firefox

Paso 3)

  • Haga clic con el botรณn derecho en cualquier espacio en blanco dentro de la pรกgina, por ejemplo, en el Mercury Logotipo de Tours en la esquina superior izquierda. Esto hace que aparezca el Selenium Menรบ contextual del IDE. No Haz clic en cualquier objeto o imagen con hipervรญnculo.
  • Seleccione el elemento Mostrar comandos disponibles .
  • Elija assertTitle exact: Welcome: Mercury ToursEste comando comprueba que el tรญtulo de la pรกgina sea correcto.

Selenium Menรบ contextual del IDE con la opciรณn "Mostrar comandos disponibles"

Selenium Editor IDE que muestra el comando assertTitle aรฑadido

Paso 4)

  • En la secciรณn Nombre de usuario cuadro de texto de Mercury Tours, escriba el nombre de usuario no vรกlido invalidUNN.
  • En la secciรณn Contraseรฑa cuadro de texto, escriba la contraseรฑa incorrecta invalidPWD.

Nombre de usuario no vรกlido introducido en Mercury Formulario de visitas

Contraseรฑa no vรกlida introducida en Mercury Formulario de visitas

Paso 5) Haga clic en el botรณn Regรญstrate En . Firefox Deberรญa aparecer en la pรกgina que se muestra a continuaciรณn.

Mercury Pรกgina de error de inicio de sesiรณn para tours

Paso 6) TogglDesactive el botรณn de grabaciรณn para detener la grabaciรณn. Su script ahora deberรญa ser similar al que se muestra a continuaciรณn.

Selenium El IDE grabรณ el script despuรฉs de detenerse.ping la grabadora

Paso 7) Ahora guarda el script de prueba grabado. En el Archivo menรบ, seleccione Guardar caso de prueba, o presione Ctrl+S.

Opciรณn Guardar caso de prueba en el Selenium Menรบ Archivo del IDE

Paso 8)

  • Elija una carpeta de destino y luego asรญgnele un nombre. caso de prueba Inicio de sesiรณn invรกlido.
  • Haga clic en Guardar.

Guardar cuadro de diรกlogo nombrando el Selenium Caso de prueba IDE Invalid_login

Paso 9) Observe que el archivo se guarda como HTML.

Archivo de caso de prueba guardado con extensiรณn HTML

Paso 10) Regrese al Selenium IDE y haga clic en el Playback botรณn para ejecutar todo el script. Selenium IDE reproduce fielmente cada acciรณn.

Selenium Botรณn de reproducciรณn del IDE que ejecuta el script grabado

Introducciรณn a los Selenium Comandos โ€“ Selenese

Selenese es el lenguaje de escritura que impulsa Selenium IDE. Las reglas son sencillas:

  • Cada comando selenese acepta hasta dos parรกmetros: un dirigidos y valor.
  • Los parรกmetros no siempre son necesarios. El nรบmero depende del comando.

Tipos de comandos

El idioma selenese agrupa las รณrdenes en tres categorรญas. Cada una tiene una funciรณn diferente en el guion.

Acciones Comandos que interactรบan directamente con los elementos de la pรกgina. Ejemplo: click interactรบa con el elemento en el que haces clic; type Introduce un valor en un cuadro de texto y este lo devuelve, lo que proporciona una interacciรณn bidireccional.
Accesores Comandos que almacenan un valor en una variable. Ejemplo: storeTitle Solo lee el tรญtulo de la pรกgina y lo guarda; no modifica nada en la pรกgina.
Aserciones Comandos que verifican una condiciรณn. Selenese expone tres tipos de aserciones: Afirmar Detiene la prueba en caso de fallo, Verificar registra el fallo y continรบa, y Espera para Se detiene hasta que se cumpla una condiciรณn (tiempo de espera predeterminado de 30 segundos, configurable en Opciones > General).

Afirmar versus verificar en Selenium

Los diagramas que aparecen a continuaciรณn comparan el comportamiento en tiempo de ejecuciรณn de un comando Assert frente a un comando Verify cuando la comprobaciรณn falla a mitad de la prueba.

Comando de aserciรณn detenerping la prueba de fracaso

Verificar el comportamiento del comando continuando la prueba despuรฉs de un fallo registrado

Comandos comunes

Comando Nรบmero de parรกmetros Mareas Ideales para Lecciones
abierto 0-2 Abre una pรกgina usando un URL.
clic / clic y espera 1 Hace clic en un elemento especรญfico.
tipo / claves de tipo 2 Escribe una secuencia de caracteres.
verificarTรญtulo / afirmarTรญtulo 1 Compara el tรญtulo de la pรกgina real con un valor esperado.
verificarTextoPresente 1 Comprueba si un texto determinado se encuentra dentro de la pรกgina.
verificarElementoPresente 1 Comprueba la presencia de un elemento especรญfico.
verificarTabla 2 Compara el contenido de una tabla con los valores esperados.
esperar a que la pรกgina se cargue 1 Pausa la ejecuciรณn hasta que la pรกgina termine de cargarse.
esperarPorElementoPresente 1 Pausa la ejecuciรณn hasta que aparezca el elemento especificado.

Crear un script manualmente con Firebug

Ahora vamos a recrear el mismo caso de prueba manualmente por typing los comandos. Este tutorial utiliza Firebug para inspeccionar los localizadores de elementos. (En el moderno Selenium En el IDE, utilice las herramientas de desarrollo integradas del navegador en lugar de Firebug.

Paso 1) Abra Firefox y Selenium IDE. Escriba la base URL https://demo.guru99.com/test/newtours/El botรณn de grabaciรณn debe estar APAGADO.

Selenium Interruptor de registro IDE en estado DESACTIVADO

Paso 2) Haz clic en la primera lรญnea en blanco del editor.

Seleccionar la primera fila en blanco en el Selenium editor de IDE

Tipo open en el cuadro de texto Comando y pulse Intro.

Comando de apertura introducido en el Selenium Campo de comandos del IDE

Paso 3) Navegar Firefox a la base URL y active Firebug. En el editor IDE, seleccione la lรญnea debajo de la open comando y escribir assertTitleUtilice las sugerencias de autocompletar para mayor precisiรณn.

Sugerencias de autocompletado para assertTitle en Selenium IDE

Paso 4) En Firebug, expanda el <head> etiqueta para revelar el <title>. Haga clic en el valor del tรญtulo (Bienvenido: Mercury Tours) y pรฉgalo en el Target campo en el Editor.

Copiar el tรญtulo de la pรกgina de Firebug en el campo de destino del IDE.

Paso 5) Haz clic en la tercera lรญnea en blanco del Editor y escribe type en el campo Comando. En Firebug, haga clic en el Inspeccciona .

Se estรก agregando el comando de tipo Selenium editor de IDE

Haz clic en el cuadro de texto Nombre de usuario. Firebug mostrarรก automรกticamente el elemento HTML correspondiente.

Firebug inspeccionando el campo Nombre de usuario en Mercury Tours

Paso 6) El cuadro de texto Nombre de usuario no tiene ID, pero tiene un atributo NAME. Copie el valor de NAME y pรฉguelo en el Target campo de Selenium IDE

Copiar el atributo NAME del campo Nombre de usuario

Aรบn en el Target campo, prefijo userName con name= so Selenium IDE apunta al elemento cuyo atributo NAME es userName.

Selenium Campo de destino del IDE con localizador name=userName

Tipo invalidUN en el campo Valor. Su script ahora tiene su tercer comando. Selenium El IDE distingue entre mayรบsculas y minรบsculas, por lo que debe escribir los valores y los nombres de los atributos exactamente como aparecen en la aplicaciรณn.

Escriba el comando dirigido a name=userName con el valor invalidUN

Paso 7) Agregue un cuarto comando por typing type en el campo Comando. Utilice Firebug Inspeccciona botรณn en el cuadro de texto Contraseรฑa.

Firebug inspeccionando el campo Contraseรฑa

Pegue el atributo NOMBRE (password) en el Target campo, prefijo con name=y establecer el Valor en invalidPW.

Selenium Script del IDE despuรฉs de agregar el comando de tipo de contraseรฑa

Paso 8) Agregue el quinto comando de typing clickAndWait en el campo Comando. Utilice Firebug Inspeccciona en el botรณn de Iniciar sesiรณn.

Firebug inspeccionando el botรณn de inicio de sesiรณn

Pegue el valor del NOMBRE (login) en el Target campo con el name= prefijo.

Manual final Selenium Script IDE con cinco comandos

Paso 9) Guarda el caso de prueba como antes.

Usando el botรณn Buscar

El Encontrar botรณn en Selenium IDE confirma que el valor introducido en el Target El campo coincide realmente con un elemento de la interfaz de usuario en la pรกgina.

Abra el panel de Inicio de sesiรณn invรกlido caso de prueba de la secciรณn anterior y haga clic en cualquier comando con un Target entrada โ€” por ejemplo, el tercer comando.

Buscar botรณn al lado del Target campo en Selenium IDE

Haga clic en Encontrar. El cuadro de texto Nombre de usuario en el Mercury La pรกgina de Tours se resalta brevemente.

Campo Nombre de usuario resaltado en Firefox despuรฉs de hacer clic en Buscar

El punto culminante confirma que Selenium El IDE resolviรณ el localizador correctamente. Si se resalta el elemento incorrecto (o ningรบn elemento), es necesario corregir el localizador en el script.

Ejecutar comando

La opciรณn Ejecutar comando ejecuta una sola lรญnea del script sin ejecutar todo el caso de prueba. Haz clic en la lรญnea que deseas ejecutar y elige Acciones > Ejecutar este comando desde el menรบ o pulse X en el teclado.

Paso 1) Asegรบrese de que el navegador estรฉ en el Mercury Pรกgina principal de Tours. Haga clic en la lรญnea que desea recorrer; por ejemplo, type | userName | invalidUN.

Escriba el comando seleccionado para su ejecuciรณn en Selenium IDE

Paso 2) Prensa X en el teclado.

Paso 3) El cuadro de texto del nombre de usuario en la pรกgina se rellena con invalidUN.

El campo Nombre de usuario se rellena despuรฉs de Ejecutar comando.

La ejecuciรณn de comandos de esta manera depende de la pรกgina que Firefox actualmente se estรก mostrando. Ejecutar el mismo comando en GoogleLa pรกgina de inicio de fallarรญa porque no hay ningรบn campo llamado userName allรญ.

Punto de partida

Un punto de partida indica Selenium IDE indica desde quรฉ lรญnea comenzar la ejecuciรณn. La tecla de acceso directo es S.

Punto de inicio establecido en un Selenium Lรญnea de script del IDE

En el ejemplo anterior, la reproducciรณn comienza en la tercera lรญnea (type | password | invalidPW). Un script de prueba solo puede tener un punto de inicio. Al igual que con la funciรณn Ejecutar comando, el punto de inicio depende de la pรกgina que se muestra actualmente y falla si la pรกgina es incorrecta.

Los puntos de interrupciรณn

Los puntos de ruptura indican Selenium IDE para pausar la prueba automรกticamente en una lรญnea determinada. La tecla de acceso directo es B.

Indicador de punto de ruptura en un Selenium Lรญnea de script del IDE

El resaltado amarillo muestra el paso en pausa. Un caso de prueba puede tener mรบltiples puntos de interrupciรณn.

Paso

El Paso Este comando ejecuta la siguiente lรญnea despuรฉs de una prueba pausada. รšselo junto con puntos de interrupciรณn para recorrer un script comando por comando.

La prueba se detuvo en clickAndWait antes de hacer clic en Paso.

Antes de hacer clic en Paso. El caso de prueba estรก pausado en la lรญnea clickAndWait | login.

La prueba avanzรณ al siguiente comando despuรฉs de hacer clic en Paso.

Despuรฉs de hacer clic en Paso. El clickAndWait | login El comando se ejecuta y la ejecuciรณn se pausa en el siguiente comando (verifyTitle | Sign-on: Mercury Tours). La siguiente lรญnea se detiene incluso sin un punto de interrupciรณn; ese es el propรณsito de Step.

Cosas importantes a tener en cuenta al utilizar otros formatos en la vista de cรณdigo fuente

Advertencia sobre formatos de vista de cรณdigo fuente que no son HTML

Selenium IDE 1.x funciona de forma fiable รบnicamente con el formato HTML; otros formatos aรบn estรกn en fase experimental. No se recomienda crear ni editar pruebas en la vista de cรณdigo fuente que no sea HTML. Los problemas conocidos a partir de la versiรณn 1.9.1 son:

  • No puedes usar la reproducciรณn ni volver a la vista de tabla sin recurrir a HTML.
  • La forma mรกs segura de aรฑadir comandos en la vista de cรณdigo fuente es grabรกndolos.
  • Las ediciones manuales realizadas en la vista de cรณdigo fuente se pierden al cambiar a otro formato.
  • Puedes guardar un caso de prueba en la vista de cรณdigo fuente, pero Selenium Es posible que el IDE no logre volver a abrirlo.

La forma recomendada de convertir pruebas de Selenese a otros idiomas es la Archivo > Exportar caso de prueba comoโ€ฆ menรบ, no la vista de cรณdigo fuente.

Preguntas Frecuentes

El legado Firefox-solamente Selenium IDE 1.x ya no recibe mantenimiento. La versiรณn moderna Selenium IDE es una extensiรณn de navegador para Chrome, Firefoxy Edge de selenium.dev, que admite grabaciรณn y reproducciรณn, ademรกs de la exportaciรณn a cรณdigo WebDriver.

Utilice Assert para condiciones previas estrictas donde la prueba no puede continuar (por ejemplo, la pรกgina correcta debe cargarse primero). Utilice Verify cuando las comprobaciones posteriores aรบn aporten valor aunque la actual falle, como la verificaciรณn de varios campos en un formulario.

Firebug fue retirado en Firefox 57. Utilice las herramientas para desarrolladores integradas del navegador (F12) o extensiones como SelectorsHub, ChroPath o Playwright Inspector para capturar localizadores XPath y CSS para Selenium scripts.

Sรญ. AI Las plataformas de prueba observan las sesiones de los usuarios, generan comandos Selenese, sugieren localizadores robustos y convierten los scripts grabados en Selenium Cรณdigo WebDriver en Java, Python, o JavaGuion con mucho menos esfuerzo manual.

La IA generativa examina instantรกneas del DOM y propone localizadores con menos probabilidades de romperse, prefiriendo los atributos de prueba de datos sobre el frรกgil XPath. Los agentes de IA de autorreparaciรณn reescriben automรกticamente los localizadores despuรฉs de los cambios en la interfaz de usuario, manteniendoping Selenium Los scripts del IDE aparecen en verde.

Resumir este post con: