en 20 minutos ... charla selenium
TRANSCRIPT
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
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
© 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.
© 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...
© 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.
© 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.
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Selenium IDE
© 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.
© 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.
© 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.
© 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.
© 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
© 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>
© 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])