selenese1

Automatización de pruebas web con Selenium (III). Selenium IDE. Aprendiendo Selenese

Los comandos de Selenium se denominan Selenese y sirven para ejecutar nuestros test. Como sabes una secuencia de esos comandos constituirán un script. Esos comandos son básicamente un lenguaje de scripting.

Con los comandos en Selenese podremos testear el contenido de una página web, testear links rotos, campos de texto, listas, formularios de envío, datos de tablas, etc. Además se puede testear la funcionalidad Ajax de la página, pop-ups, eventos y otras características de una página web.

Los comandos en Selenium son de tres tipos:

    • Actions (acciones). Son acciones que tu script va a realizar sobre la aplicación como seleccionar alguna opción o hacer click sobre algún link… Si la acción falla el test parará.
    • Accessors. Nos permitirán acceder al estado de una aplicación. Por ejemplo si queremos conocer el nombre de la página web.
    • Assertions (afirmaciones). Establecen si el estado de un objeto de la aplicación es el que debería ser. Si una afirmación no es correcta es que el estado de la aplicación no es el que debería ser y en ese caso

fallará.

Primer Ejemplo.

El primer test de ejemplo que vamos a ver es muy sencillo. Vamos a abrir la web myfpschool.com y verificaremos que contiene un elemento con id igual a menu-principal. Una vez comprobado eso se verificará que en la página está el texto “Selenium” y el link “Noticias”.

El resultado de crear dicho test y ejecutarlo es el siguiente:

selenese1

Como se puede observar, la ejecución del test no ha dado ningún fallo puesto que el resultado de todos los comandos ha sido exitoso.

Test Suites.

Una suite de test es una conjunto de test. Generalmente se ejecutan estos conjuntos de test en segundo plano como un batch.

Si queremos ejecutar una suite de test crearemos un fichero HTML. La sintaxis será parecida a la siguiente:

<html>
<head>
<title>Test Suite Function Tests – Priority 1</title>
</head>
<body>
<table>
<tr><td><b>Suite Of Tests</b></td></tr>
<tr><td><a href=”./Principal.html”>Login</a></td></tr>
<tr><td><a href=”./Busqueda.html”>Test Buscar valores</a></td></tr>
<tr><td><a href=”./Salvar.html”>Salvar</a></td></tr>
</table>
</body>
</html>

Podemos utilizar JUnit para mantener una suite de test utilizando Selenium-RC con Java.

Comandos más utilizados.

  • open. Abre una página web concreta.
  • click/clickAndWait. Realiza un click. Si se ejecuta clickAndWait también espera que cargue la página.
  • verifyTitle/assertTitle. Verifica el título de una página.
  • verifyTextPresent. Verifica que existe en la página un texto determinado.
  • verifyElementPresent. Verifica que existe algún elemento concreto.
  • verifyText. Verifica que un texto y sus etiquetas HTML existan en una página concreta.
  • verifyTable. Verifica que existan unos contenidos concretos en una tabla.
  • waitForPageToLoad. Pausa la ejecución hasta que carga una página web concreta. Cuando se utiliza el comando clickAndWait este comando se ejecuta automáticamente.
  • waitForElementPresent. Pausa la ejecución hasta que un elemento determinado (definido mediante su etiqueta HTML) esté presente en la página.
Realiza un test que cargue la página myfpschool.com.
Una vez cargada la página, se ejecutará el link “Entornos de desarrollo” y cuando cargue la página se verificará que existe el texto “mandamientos”.

Mas información en la página de selenium.

Otro Ejemplo:

Imaginemos que queremos encontrar el texto “Myfpschool. Tu web de informática en Internet” pero condicionado a que esté dentro de una tabla y contenido entre las etiquetas “div” y “p”. La orden se definiría de la siguiente manera:

Command Target Value
verifyText //table/tr/td/div/p Myfpschool. Tu web de informática en Internet.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>