Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Integrantes: "Equipo fivenet"
Mauriño, Emilio Raúl – Project Leader
Fernández, Juan Manuel –Diseño de UI y UX
Sánchez, Cristian Mariano – Testing y QA
O´connor, Sergio – Developer
Medina Saucedo, Kevin – Developer
Watir (Web Application Testing in Ruby)
Watir testea aplicaciones web mediante el lenguaje de programación Ruby que automatiza la
operación de los navegadores web, actualmente trabaja tanto para internet explorer como para
Firefox, chrome y safari. Watir fue desarrollado inicialmente por BretPettichord y Paul Rogers,
aunque al ser un proyecto abierto, tiene una lista creciente de participantes.
Watir impulsa el navegador Internet Explorer de la misma manera que un usuario final lo haría. Se
hace clic en los enlaces, llena de formas, presiona los botones, también comprueba los resultados,
como por ejemplo si el texto se espera que aparezca en la página, o si un control está
activado.Watir puede probar aplicaciones web escritas en cualquier idioma.
¿Que es Ruby?
Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el
programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo
presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con
características de programación orientada a objetos similares a Smalltalk. Ruby es un lenguaje de
programación interpretado en una sola pasada y su implementación oficial es distribuida bajo
una licencia de software libre.
Watir
Características
Utiliza la interfaz COM de Internet Explorer (IE).
Permite que un programa externo pueda controlar IE.
Existen interfaces similares para Word, Excel, PowerPoint y Outlook.
Acceso completo a los contenidos de una página HTML.
Proporciona diferentes maneras de acceder a objetos.
Funcionalidad
La funcionalidad de Watir consiste en dos partes básicas:
Interactuar con el navegador de la misma forma que lo haría un usuario
Interpretar todos los elementos de HTML de la página de manera que pueden ser
externamente interpretados e incluso manipulados.
Esto permite escribir scripts que manejen la ejecución automatizada de casos de prueba en la
validación y verificación de funcionalidad de sistemas escritos para el navegador. Para ello el
proyecto Watir consiste en varios proyectos menores siendo los principales Watir-classic, Watir-
webdriver y watirspec.
WatirClassic
Watir-Classic hace uso de la funcionalidad de Incrustado y enlazado de objetos que Ruby tiene
integrada. Por tanto es posible manejar el Internet Explorer programáticamente.6 Watir-Classic
opera diferente de otras herramientas de pruebas basadas en HTTP que emulan la existencia de
un navegador, en vez de ello, Watir-Classic efectivamente inicia una instancia del navegador a
través del protocolo OLE que está implementado sobre la arquitectura COM que es la que permite
la comunicación entre procesos (por ejemplo entre Ruby e Internet Explorer) y la creación y
manipulación dinámica de objetos, que es lo que hace Ruby con el Internet
Explorer. Microsoft llama a esto "automatización OLE" y al programa que ejerce la manipulación lo
llama controlador de automatización. Técnicamente el proceso de Internet Explorer es un servidor
y sirve objetos de automatización al exponer sus métodos mientras que el programa escrito en
Ruby se convierte en el cliente que manipula los objetos de automatización.
Watir-webdriver Watir-webdriver es una versión moderna del API de Watir basada en Selenium (es un entorno de
pruebas de software para aplicaciones basadas en la web). Selenium 2.0 (Selenium-webdriver)
intenta ser la implementación de referencia para la especificación WebDriver.
Dado que Watir-Webdriver es derivado tanto de Selenium 2.0 como de la especificación
de HTML Watir-Webdriver debe ser siempre compatible con las especificaciones del W3C ( es
un consorcio internacional que produce recomendaciones para la World Wide Web)
Watirspec
Watirspec es una especificación automatizada del API de Watir.
Que no es watir
• Watir no es un comprobador de enlaces.
Sin embargo, puede escribir fácilmente su propio comprobador de enlaces y personalizarlo a
sus necesidades específicas.
• Watir no es una herramienta de gestión de casos de prueba.
Sin embargo, puede escribir uno en Ruby si se desea.
¿Por qué elegir watir?
• No se necesitas ser un desarrollador profesional para programar las secuencias de
comandos Watir.
• Usted está aprendiendo un lenguaje de programación robusto - no sólo otra herramienta.
• Como una biblioteca de un lenguaje de programación (Rubí ) : Es potente .
(Usted tiene el poder para conectarse a bases de datos , leer archivos de datos, XML de
exportación , la estructura de su código en bibliotecas reutilizables , y casi cualquier otra
cosa que se pueda imaginar ... )
• Es simple - elegante - INTUITIVO
• Tiene una comunidad en línea de apoyo para cuando estés atascado.
Como utilizar Watir
Watir es una gema de Ruby, por lo que lo primero que tienes que tener funcionando en tu
máquina es Ruby, que lo puedes descargar desde su página (www.ruby-lang.org/es/).
Una vez que tengamos Ruby funcionando, existen útiles y variadas bibliotecas para la misma,
muchas disponibles como un conveniente archivo gem. La instalación de watir requiere primero
tener instalado las rubygems (es un marco de gestión de paquetes para Ruby), que también se
descarga desde la página de Ruby, una vez instalado las rubygems procederemos a instalar watir
abriendo el símbolo del sistema (cmd.exe) y es ejecutar el siguiente comando: “geminstallwatir”.
Test para un formulario HTML
Un caso habitual en los test basados en el navegador son los formularios. Por ejemplo, piensa en el
siguiente formulario:
En este típico formulario hay 2 campos (‘Title’ ‘Comment’) y un botón de envío (‘send’). Con Watir
podemos montar un test sencillo que compruebe, por ejemplo, que el proceso de añadir un
comentario está funcionando correctamente.
Cuando escribes un test basado en el navegador, tus 2 recursos principales son la URL y el HTML.
Con la primera obtienes la página que quieres testear, y con todo el documento HTML de esa
página puedes empezar a establecer las evaluaciones que quieres probar. En nuestro ejemplo, la
parte que nos interesa del HTML, es la que afecta al formulario que acabamos de mostrar. Así que
una aproximación razonable sería rellenar ese formulario con datos de prueba y realizar el envío.
Creamos un fichero, lo nombramos como test_review_form.rb, y lo iniciamos con el siguiente
código.
Le decimos a Watir que abra una URL. Que dentro del documento HTML de esa URL rellene los
campos, cuyos atributos name son ‘title’ y ‘comment’, con los datos que le pasamos. Y que a
continuación pulse el botón cuyo atributo value es ‘send’.
Nos falta añadir la evaluación. En nuestro caso, vamos a evaluar si existe cierto contenido en el
documento HTML, contenido que sabemos que sólo existe en la página posterior a un envío
correcto.
Con ésto ya tenemos un test completo. Podemos probarlo llamándolo:
A continuación, Watir abre el navegador instanciado en el test y ejecuta los pasos indicados.
Cuando termina, devuelve los mensajes de ‘passed’ o ‘failed’.
Ejemplo Nuestro
Para la implementación ocupamos el TestWise IDE que ayuda a los testers para crear / ejecutar
RWebSpec (extensión del popular Watir ).
Pasos:
Para obtener las líneas de código de manera fácil lo que hicimos fue utilizar un complemento de
Firefox llamado “TestwiseRecorder” el cual nos escribía las líneas de código a medida que nosotros
rellenábamos o hacíamos click en un formulario.
En este cuadro se observa por un lado un ejemplo de un formulario (WatirExample) y a medida
que lo vamos completando, en el lado derecho el complemento TestwiseRecorder nos va
mostrando las líneas de código.
Nosotros utilizamos una IDE para testear dicho código llamado TestWise IDE que ayuda a los
testers a crear / ejecutar RWebSpec (extensión del popular Watir) marco de pruebas en, sintaxis
clara concisa (RSpec).
Lo que hacemos es copiar dicho código para trasladarlo al programa TestWise IDE.
Abrimos el TestWise IDE y creamos un nuevo proyecto y le pasamos la URL.
Acá observamos como el TestWise va testeando línea por línea de código, y en el lado derecho
vemos la página en donde anteriormente se rellenaron los datos.
Aquí se observa la finalización del testing en donde la tilde nos indica que no tuvo ningún ERROR.
Bibliografia
- http://watir.com
- http://grosshat.com/bazaar/tests-para-formularios-html-con-watir/
- https://www.youtube.com/watch?v=FxQXQGpImAo
Conclusión
A medida que fuimos investigando e indagando nos dimos cuenta de la importancia de esta
herramientas de testeo y llegamos a la conclusión de que optimizar la página web es una
obligación de cada empresa. Con respecto a la competencia en la web, comportamiento de los
usuarios y el diseño centrado en el usuario entendimosque lo mejor es hacer, constantemente,
cambios en nuestros sitios web, testearlos, analizar y otra vez volver a implementar modificaciones .