En 20 minutos ... Charla selenium

14
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Selenium

Transcript of En 20 minutos ... Charla selenium

Page 1: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selenium

Page 2: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Contenido

1.- Qué es Selenium

2.- Entornos

3.- Herramientas

4.- Selenium IDE

5.- Selenium WebDriver

6.- Selenese

Page 3: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Qué es Selenium

● Selenium es un entorno de pruebas funcionales de software para aplicaciones basadas en la web.

● Se ejecuta sobre un navegador real.

● Soporta múltiples plataformas.

● Pueden ser implementados por no-programadores.

Page 4: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Entornos

● Firefox, Internet Explorer (6 - 10), Safari (5.1+), Opera (12.x y anteriores) y Chrome.

● Windows (XP, 7, 8 y 8.1), Apple OS X y Linux.

● C# (NUnit), Haskell, Java (JUnit, TestNG), JavaScript, Objetive-C, Perl, PHP, Pyton (unittest, pyunit), R, Ruby (RSpec, Test::Unit)

● Integración con Maven, Hudson, Jenkins...

Page 5: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Herramientas

● Selenium IDE. Plugin para Firefox.

● WebDriver. Driver Selenium que envía comandos al navegador.

● Selenium Grid. Servidor que permite ejecutar pruebas en paralelo en múltiples máquinas y en con diferentes versiones.

Page 6: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selenium IDE

● Plugin para Firefox.

● Permite grabar, reproducir, editar y exportar las acciones realizadas sobre una página.

● Permite la depuración y puntos de verificación.● Permite exportar las las pruebas en diferentes

formatos como XML, Java (JUnit, TestNG), Ruby (Rspec, Test::Unit), C# (Nunit) y Pyton (Unitest)

● No son necesarios conocimientos de programación.

Page 7: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selenium IDE

Page 8: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selenium WebDriver

Selenium WebDriver

● Servidor que envía comandos a un navegador.● Utiliza una aplicación basada en HtmlUnit para simular

el nevegador.● Proporciona controladores nativos que dan soporte a

distintos navegadores (InternetExplorer, Firefox, Chrome...)

● Provee controladores de dispositivos para PHP, Pyton, Ruby, .NET, perl y Java.

● API sencilla. Dispone de dos clases principales, WebDriver y WebElement.

● Permite selenium en dispositovos móviles.

Page 9: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selene - Comandos

●open: Abre una URL.

●click: Hace click sobre un elemento de la pantalla.

●type: Escribe en un campo.

●clickAndWait: Hace click sobre un elemento de la pantalla y espera a que se cargue una nueva página

●verifyTitle: verifica el título esperado de la página.

Page 10: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selene - Comandos

●assertTitle: verifica el título esperado de la página abortando el test en caso de error.

●verifyTextPresent: comprueba que el texto indicado exista en la página.

●verifyElementPresent: comprueba la existencia de una etiqueta HTML en la página.

●verifyText: Comprueba la existencia de un texto en una determinada etiqueta HTML.

Page 11: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selene - Comandos

●waitForPageToLoad: Espera a que cargue una página, se puede indicar el tiempo máximo de espera en milisegudos.

●waitForElementPresent: Espera hasta que se cargue una determinada etiqueta HTML, se puede indicar el tiempo máximo de espera en milisegudos.

Page 12: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selene - Localizadores

Algunos de estos comandos tendrán como parámetro un target, una etiqueta o tipo de etiquetas HTML, sobre el que realizarán la acción o verificación. Las etiquetas se podrán identificar de varias formas:

●Por id, busca el primer elemento cuyo id coincida con el identificador indicado.● Id=idFormulario

●Por nombre, busca el primer elemento cuyo name coincida con el indicado. Permite indicar valores.

● name=nombre ● name=login type=submit ● name=login type=button

●Por ruta XPath● xpath=/html/body/form[1]● xpath=//form[@id='idFormulario'] ● xpath=//form[input/@name='nombre']

●Seguir un enlace a partir de su texto.● link=Ayuda

● Localización por DOM mediante el uso de document● dom=document.getElementById('idFormulario') ● dom=document.forms['idFormulario'] ● dom=document.forms[0].nombre

Page 13: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Selene - Localizadores

1 <html>2 <body>3 <form id="idFormulario">4 <input name="nombre" type="text" />5 <input name="password" type="password" />6 <input name="login" type="submit" value="Login" />7 <input name="login" type="button" value="Clear" />8 </form>9 <a href="help.html">Ayuda</a>10 <a href="contact.html">Contacto</a>11 </body>12 </html>

Page 14: En 20 minutos ... Charla selenium

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Fin

Gracias por vuestra atención

¿Alguna pregunta?

José Manuel Robles Muñoz ([email protected])José Manuel Robles Muñoz ([email protected])