SELENIUM HQ – Herramienta de Pruebas para Entornos WEB
Carlos Vargas CastroECIPDSW – Abril 2011
Agenda
Introducción Descripción Componentes
Core IDE RC (Remote Control) Grid
Bibliografía
Introducción
Pruebas:
El porqué de las pruebas se resume en verificar que el comportamiento externo del sistema de software satisface los requisitos establecidos por los clientes y futuros usuarios del mismo.
Introducción
Necesidad (Aplicación Web):
Links (Hipervínculos) Rotos La información es mostrada
correctamente La información es procesada
correctamente Las operaciones son realizadas
efectivamente Soporte con los diferentes browsers
Descripción
Selenium HQ es un framework que permite automatizar las pruebas funcionales sobre aplicaciones web.
Descripción
- Framework hecho en JavaScript que corre en el web browser
- Se «engancha» con otros lenguajes como Ruby, Python, C#
- Todo lo que se necesita para manejarlo es saber algo de HTML y usarlo de manera correcta
Descripción
- Soportado por los browsers comunes (IE, Mozilla Firefox, Chrome, Opera, Safari,…)
- Simula a un usuario navegando por la(s) pagina(s) y puede validar marcas especificas.
Descripción
Descripción
- Aquí un video
http://seleniumhq.org/movies/intro.mov
- How it Works?
http://seleniumhq.org/about/how.html
Componentes
- Selenium Core
- Selenium IDE
- Selenium Grid
- Selenium RC (Remote Control)
Selenium Core
- Framework de Ejecución DHTML, Desarrollado en JavaScript por la ThoughtWorks
- Los test, corren directamente en el servidor WEB de la aplicación.
- Contiene un lenguaje llamado SeleneseCommand Target Value
Selenium IDE
- Está implementado como un complemento de Firefox, permite grabar, editar y depurar pruebas.
- Guarda las pruebas (test) en diferentes formatos y los transforma.
Selenium IDE
- El IDE genera el código automáticamente a una gran variedad de lenguajes y Frameworks de Prueba.
- HTML Selenese, C#, Java, Perl, PHP, Python, Ruby
- Bromine, JUnit, NUnit, RSpec, Test::Unit, TestNG, unittest
Selenium IDE
Selenium IDE
- NO soporta (directamente):- Sentencias de Iteración o de condición.- Log o reportes de los resultados de las
pruebas.- Manejo de Errores, comúnmente errores
inesperados.- Test de BD.- Pantalla de Captura de las fallas de las
pruebas.
Selenium Remote Control
- Servidor, escrito en Java, que soporta comandos a través del browser vía HTTP.
- Hace posible la ejecución de test automáticos para los lenguajes soportados.
- Selenium provee drivers cliente para los lenguajes, funcionan de interface para el servidor a través del browser
Selenium Remote Control
- Es decir, que puede ejecutar las pruebas automáticamente en todos los navegadores relevantes, de forma que no se te escape ningún detalle de la aplicación.
Selenium Remote Control
Selenium Grid
- Con Selenium Grid, logramos ejecutar varias instancias del Remote Control de forma paralela, en distintas máquinas.
- Ventajas- Manejo centralizado.- Aceleración de los tiempos de prueba.- Facilidad en pruebas simultaneas.
Bibliografía
http://seleniumhq.org/
http://en.wikipedia.org/wiki/ThoughtWorks
http://www.genbetadev.com/desarrollo-web/selenium-herramientas-para-testar-web-apps
http://tratandodeentenderlo.blogspot.com/2010/01/pruebas-funcionales-con-selenium.html