12
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

Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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

Page 2: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 3: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 4: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 5: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 6: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 7: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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’.

Page 8: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 9: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

Abrimos el TestWise IDE y creamos un nuevo proyecto y le pasamos la URL.

Page 10: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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.

Page 11: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

Bibliografia

- http://watir.com

- http://grosshat.com/bazaar/tests-para-formularios-html-con-watir/

- https://www.youtube.com/watch?v=FxQXQGpImAo

Page 12: Integrantes: Equipo fivenet...programadorjaponés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada

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 .